0
我想创建一个可以发送一个bean作为参数,而不是字符串的简单的服务器/客户端应用程序,但低于失败是我的代码弹簧4的REST类型的服务与豆
服务器
@Controller
public class GreetingController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@RequestMapping(method=RequestMethod.POST,value="/returnGreet")
public @ResponseBody Greeting returnGreet(
@RequestBody(required=false) Greeting greet) {
if(greet == null)
return new Greeting(counter.incrementAndGet(),
String.format(template, greet));
else
return new Greeting(0,"Testing");
}
}
客户
RestTemplate restTemplate = new RestTemplate();
MultiValueMap<String,Greeting> greet = new LinkedMultiValueMap<String, Greeting>();
greet.add("greet", new Greeting(0,"XOXO"));
greeting = restTemplate.postForObject("http://localhost:8080/returnGreet",greet, Greeting.class,greet);
System.out.println("Content: " + greeting.getContent());
System.out.println("Id: " + greeting.getId());
对于服务器端的对象问候,结果始终为空。
任何想法?
我已经这样做了,但我得到错误org.springframework.web.client.HttpClientErrorException:400错误的请求,我不怎么跟踪它。 – Shahbour
@Shahbour将服务器的记录器级别设置为DEBUG,并检查Spring无法反序列化身体的位置。 –
你好,它的工作现在缺少也是类Greeting没有空的构造是必需的,我发现改变日志为TRACE为。大 –
Shahbour