2017-04-19 164 views
0

我有REST POST方法,它接受@RequestBody字符串名称。 当我从邮递员送JSON有这样的:Spring MVC - Jackson反序列化大括号

{ 
"name": "some_name" 
} 

我得到它包含一个字符串变量:“{‘名’:‘some_name’}”。

但是,当我从邮递员发送只是some_name我得到包含'some_name'的变量。 怎么可能?

回答

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到它自己的文件,并修改进入公众。