2016-02-05 91 views
2

假设我有像以下其中PersonDto是一个简单的POJO的API:包括POST数据作为请求参数使用佯

@RequestLine("POST /request/path") 
String createPerson(PersonDto dto); 

当我调用该API,假装包括在请求主体POJO的所有属性(它是标准和良好),但我有一个传统的应用程序在另一边,期望POST数据被包含为请求参数。我知道我可以做这样的事情:

@RequestLine("POST /request/path?id={id}&name={name}&...") 

但如果我有太多的params会变得非常难看。

我尝试使用拦截器和RequestTemplate.query以编程方式添加参数,但它们都以请求正文结尾。

任何方式做假装这样的事情?

回答

0

你可以使用这样的:

@RequestLine("POST /request/path") 
@Headers("Content-Type: application/json") 
String createPerson(PersonDto dto); 

,它需要jdk1.8

+1

虽然这个代码片断可以解决的问题,[包括解释(http://meta.stackexchange.com/questions/114762/explain-completely-code-based-answers)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 – Clijsters