Spring MVC - Jackson反序列化大括号

时间:2017-04-19 15:21:56

标签: spring jackson

我有REST POST方法,它接受@RequestBody字符串名称。 当我从Postman json那里寄这样的时候:

{
 "name": "some_name"
 }

我得到一个String变量,其中包含:'{“name”:“some_name”}'。

但是当我从postman发送some_name时,我得到包含'some_name'的变量。 怎么可能?

1 个答案:

答案 0 :(得分:0)

你告诉杰克逊将有效负载解析为字符串,所以它确实如此。如果您希望Jackson将JSON有效负载解析为POJO,请执行以下操作:

@RestController
public class MyController {
    @PostMapping("my/endpoint")
    public NameDto post(@RequestBody NameDto dto) {
        // do stuff
        return dto;
    }

    class NameDto {
        private String name;

            public NameDto() { }

            public String getName() {
                return this.name;
            }
            publid void setName(String s) {
                this.name = s;
            }
        }
    }
}

根据您的使用情况,您可能希望将NameDto重构为自己的文件并修改对公众的访问权。