2017-04-19 1 views
0

@RequestBody String name을 허용하는 REST POST 메소드가 있습니다. 나는이 같은 우편 배달 JSON에서이 보낼 때 :스프링 MVC - Jackson은 중괄호를 비 직렬화합니다.

{ 
"name": "some_name" 
} 

나는이 포함 된 문자열 변수를 얻을 : '{ "이름": "some_name를"}'.

하지만 저는 우편 배달부에서 some_name을 보내면 'some_name'이 들어있는 변수가 생깁니다. 어떻게 가능합니까?

답변

0

당신은 Jackson에게 페이로드를 String으로 구문 분석하도록 명령하고 있습니다. 당신이 잭슨하는 POJO로 JSON 페이로드를 구문 분석 같은 것을하고 싶은 경우 사용 사례에 따라

@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을 리팩토링과 공공에 대한 액세스를 수정할 수 있습니다.