如果controller中的方法接受参数是一个自定义类, 用json传递的对象会自动映射到自定义类中. json的key名字是setXxx去掉set, 把首字母X变成小写x.

举个例子:

Java controller中sendMessage接收Message对象

  1. @PostMapping("/send-message")
  2. public void sendMessage(@RequestBody final Message message) {
  3. service.notifyFrontend(message.getMessageContent());
  4. }

Message class

  1. public class Message {
  2. private String messageContent;
  3. public String getMessageContent() {
  4. return messageContent;
  5. }
  6. public void setContent(String messageContent) {
  7. this.messageContent = messageContent;
  8. }
  9. }

该类中setter方法为: == setContent ==
所以传Json时, Key 是名字是 content (去掉set, 把Content 变成 content)

  1. {
  2. "content":"junwei"
  3. }

这样就可以成功传递参数