【发布时间】:2016-09-06 07:45:54
【问题描述】:
我目前正在将 Java 和 Spring 用于我的 Web 服务应用程序。我正在使用@RestController 注释,希望消除使用@ResponseBody 和@RequestBody 注释的需要。不幸的是,删除 @RequestBody 注释会使序列化失败。
这是我的代码,它没有将请求正文映射到我没有的方法参数:
@RestController
@RequestMapping(value = "/member", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class MemberController {
@Autowired
private MemberService memberService;
@RequestMapping("/create")
public void create(Member member) {
memberService.create(member);
}
@RequestMapping("/read")
public Member read(Member member) {
return memberService.read(member);
}
@RequestMapping("/update")
public void update(Member member) {
memberService.update(member);
}
@RequestMapping("/delete")
public void delete(Member member) {
memberService.delete(member);
}
@RequestMapping("/retrieveById")
public Member retrieveById(Member member) {
return memberService.retrieveById(member);
}
@RequestMapping("/retrieveAll")
public List<Member> retrieveAll(Member member) {
return memberService.retrieveAll();
}
}
当我已经在使用@RestController 时,我真的需要使用@RequestBody 注释吗?
【问题讨论】: