[SPRING] 봄 휴식 JSON 포스트 null 값
SPRING봄 휴식 JSON 포스트 null 값
나는 간단한 인사 응용 프로그램을하고 봄 휴식 엔드 포인트가 있습니다. 그것은 { "이름": "무언가를"} 동의해야하며, "안녕하세요, 무엇인가"를 반환합니다.
내 컨트롤러는 다음과 같습니다
@RestController
public class GreetingController {
private static final String template = "Hello, %s!";
@RequestMapping(value="/greeting", method=RequestMethod.POST)
public String greeting(Person person) {
return String.format(template, person.getName());
}
}
사람:
public class Person {
private String name;
public Person() {
this.name = "World";
}
public Person(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
내가 좋아하는 서비스에 요청을하면
curl -X POST -d '{"name": "something"}' http://localhost:8081/testapp/greeting
나는 얻다
Hello, World!
제대로 Person 객체로 JSON 직렬화 복원되지 않는 것 같습니다. 그것은 기본 생성자를 사용하고 이름을 설정하지 않는 것. 어떻게 JSON 입력을 받아들이는 REST에서 POST 요청을 만들려면 :이 발견? 그래서 제어부에 @RequestBody을 추가하는 시도하지만 '콘텐츠 유형'을 application / x-www-form-urlencoded를, 캐릭터 = UTF-8 '이 지원되지 않음 "에 대해 약간의 오차를 야기한다. 하며 @RequestBody를 제거하는 제안 @RequestBody MultiValueMap 지원되지 컨텐츠 유형 '문자셋 = UTF-8 응용 프로그램 / x-www-form-urlencoded를'나는 여기에 덮여 참조
나는 중 하나를 좋아하지 않는 기본 생성자를 제거하는 노력했다.
이 질문은 null 값을 JSON을 게시하면서 스프링 MVC가 null 반환하지만 위의와 충돌을 @RequestBody를 추가하지만, 제안하여 REST 웹 서비스를 커버 ...
해결법
-
==============================
1.당신은 당신의 personparam를 설정하는 데 사용되어야 하는지를 봄을 이야기하는 @RequestBody를 설정해야합니다.
당신은 당신의 personparam를 설정하는 데 사용되어야 하는지를 봄을 이야기하는 @RequestBody를 설정해야합니다.
public Greeting greeting(@RequestBody Person person) { return new Greeting(counter.incrementAndGet(), String.format(template, person.getName())); }
-
==============================
2.당신은 @RequestMapping와 '생산'으로 설정해야합니다 (값 = "/ 인사"방법 = RequestMethod.POST)
당신은 @RequestMapping와 '생산'으로 설정해야합니다 (값 = "/ 인사"방법 = RequestMethod.POST)
코드 아래 사용
@RequestMapping(value="/greeting", method=RequestMethod.POST, produces = { MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE }) public String greeting(@RequestBody Person person) { return String.format(template, person.getName()); }
from https://stackoverflow.com/questions/43373421/spring-rest-json-post-null-values by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 추가 정보와 콩 검증 (0) | 2019.09.29 |
---|---|
[SPRING] 봄 보안 3.x를 구성하는 여러 진입 점을 가지고 (0) | 2019.09.27 |
[SPRING] 어떻게 봄 부팅에서 편안 컨트롤러에서 HTML 페이지를 반환? (0) | 2019.09.26 |
[SPRING] 부팅 스프링 MVC는 "(유형 = 찾을 수 없음 상태 = 404) 예기치 못한 오류가 발생했습니다" (0) | 2019.09.26 |
[SPRING] 자바 빈즈와 Spring 빈의 차이 (0) | 2019.09.26 |