मैं दस्तावेज़ीकरण के लिए पीआर भेजने से पहले कुछ सत्यापन प्राप्त करना चाहता था। मेरे पास निम्नलिखित ऑपरेशन इंटरफ़ेस है:

public interface StatusOperations {

    @Get
    HttpResponse<List<StatusResponse>> findAll();

    @Post
    Single<StatusResponse> save(StatusRequest statusRequest);
}

और फिर घोषणात्मक क्लाइंट इंटरफ़ेस:

@Client("/api/statuses")
public interface StatusClient extends StatusOperations {

    @Override
    @Get
    HttpResponse<List<StatusResponse>> findAll();

    @Override
    @Post
    Single<StatusResponse> save(StatusRequest statusRequest);
}

और ये रहा StatusRequest:

@Introspected
public class StatusRequest {

    private UUID id;

    @NotNull
    private String message;

    // getter/setter stuff below
}

जब मैं एपीआई हिट करने के लिए क्लाइंट का उपयोग करता हूं:

StatusResponse response = client.save(new StatusRequest("Hello")).blockingGet();

मैं उम्मीद कर रहा हूं कि यह निकाय पोस्ट करेगा:

{"message": "Hello"}

लेकिन वास्तव में पोस्टिंग क्या है:

{"statusRequest": { "message": "Hello"}}

जो विफल हो जाता है। हालांकि, अगर मैं इस तरह के संचालन इंटरफ़ेस को संशोधित करता हूं:

@Post
Single<StatusResponse> save(@Body StatusRequest statusRequest);

पोस्ट बॉडी वही है जो मैं उम्मीद करता हूं और सब कुछ काम करता है। दस्तावेज़ीकरण इस बारे में बिल्कुल भी बात नहीं करता है इसलिए मैं नहीं करता' पता नहीं है कि क्या यह अभी गायब है या अगर मैंने कोई बग खोजा है या क्या। किसी भी प्रतिक्रिया के लिए धन्यवाद।

0
Gregg 15 जून 2020, 05:37

1 उत्तर

सबसे बढ़िया उत्तर

मैं एक ही मुद्दे में भाग गया और मुझे लगता है कि दस्तावेज़ीकरण में @ बॉडी बस गायब है। बहुत अच्छा होगा यदि आप इसे स्पष्ट करने के लिए पीआर बढ़ा सकते हैं।

1
saw303 15 जून 2020, 04:16