2017-04-19 84 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到它自己的文件,並修改進入公衆。