netflix feign client - RequestMethod.POST将空的json对象提交给服务

时间:2017-08-31 14:04:09

标签: spring-cloud spring-cloud-netflix spring-cloud-feign

当我使用netflix客户端发送POST请求时,json属性在遇到服务使用者时是空白的。

以下是我的界面

@FeignClient(name = "NLPService",  configuration = FooConfiguration.class )
public interface NLPServiceConsumer  extends TempInterface {    
}


public interface TempInterface {

    @RequestMapping("/greeting")
    String greeting();

    @RequestMapping(method = RequestMethod.POST,value="/nlp",
            consumes="application/json",produces="application/json")
    NLPResponse identifyTags(NLPInputToBeTransformed nlpInputToBeTransformed);

    @RequestMapping(method = RequestMethod.GET,value="/nlpGetMethod",
            produces="application/json")
    NLPResponse identifyTagsTest();


}

方法identifyTagsTest有效,我能够成功获得响应。 此方法是没有输入的GET方法

当我尝试POST方法,将对象作为参数传递时,在端点服务实现中,对象属性为null。

有人遇到过这样的问题吗?我的配置有什么错误吗?

1 个答案:

答案 0 :(得分:0)

问题不在假装客户端。它是在服务实现

在这个问题上花了差不多一天。 RestController还必须指定@RequestBody(除了共享接口)

can @FeignClient extend - and @RestController implement - a common, fully-annotated Interface?