2017-04-19 8 views
0

Ich habe REST POST-Methode, die @RequestBody String-Name akzeptiert. Als ich dort senden von Postman json wie folgt aus:Spring MVC - Jackson deserialize Klammern

{ 
"name": "some_name" 
} 

ich eine String-Variable erhalten, die enthält: '{ "name": "some_name"}'.

Aber wenn ich vom postman some_name sende, bekomme ich eine Variable, die 'some_name' enthält. Wie ist es möglich?

Antwort

0

Sie sagen Jackson, die Nutzlast in einen String zu analysieren, also tut es das. Wenn Sie Jackson eine JSON-Nutzlast in eine POJO analysieren wollen, so etwas wie:

@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; 
      } 
     } 
    } 
} 

auf Ihren Anwendungsfall abhängig, können Sie NameDto in seiner eigenen Datei, Refactoring und den Zugang zu öffentlichen ändern.

Verwandte Themen