반응형
Spring MVC를 사용하여 포스트 메소드 에서 목록을 전달하는 방법은 무엇입니까?
요청 본문의 값 목록을 전달해야 합니다.POST
방법을 알고 있습니다.400: Bad Request error
.
다음은 제 샘플 코드입니다.
@RequestMapping(value = "/saveFruits", method = RequestMethod.POST,
consumes = "application/json")
@ResponseBody
public ResultObject saveFruits(@RequestBody List<String> fruits) {
...
}
제가 사용하는 JSON은 다음과 같습니다.{"fruits":["apple","orange"]}
당신은 잘못된 JSON을 사용하고 있습니다.이 경우 다음과 같은 JSON을 사용해야 합니다.
["orange", "apple"]
해당 양식에서 JSON을 수락해야 하는 경우:
{"fruits":["apple","orange"]}
래퍼 개체를 만들어야 합니다.
public class FruitWrapper{
List<String> fruits;
//getter
//setter
}
그런 다음 컨트롤러 방법은 다음과 같습니다.
@RequestMapping(value = "/saveFruits", method = RequestMethod.POST,
consumes = "application/json")
@ResponseBody
public ResultObject saveFruits(@RequestBody FruitWrapper fruits){
...
}
저도 같은 사용 사례가 있습니다. 다음과 같은 방법으로 방법 정의를 변경할 수 있습니다.
@RequestMapping(value = "/saveFruits", method = RequestMethod.POST,
consumes = "application/json")
@ResponseBody
public ResultObject saveFruits(@RequestBody Map<String,List<String>> fruits) {
..
}
유일한 문제는 "과일" 대신 어떤 키도 사용할 수 있다는 것입니다. 하지만 큰 기능이 아니라면 포장지를 쉽게 제거할 수 있습니다.
입력을 다음과 같이 전달할 수 있습니다.["apple","orange"]
방법을 그대로 두고 싶다면요.
그것은 비슷한 방식의 서명으로 저에게 효과가 있었습니다.
언급URL : https://stackoverflow.com/questions/34789357/how-to-pass-liststring-in-post-method-using-spring-mvc
반응형
'programing' 카테고리의 다른 글
원격 레지스트리에서 도커 이미지에 대한 모든 태그를 나열하려면 어떻게 해야 합니까? (0) | 2023.08.26 |
---|---|
콘솔 텍스트의 이전 줄을 수정하는 방법은 무엇입니까? (0) | 2023.08.26 |
엑셀 시트에서 목록을 역순으로 변환하려면 어떻게 해야 합니까? (0) | 2023.08.26 |
MySql ERROR 1045(28000):'root'@'localhost' 사용자에 대한 액세스가 거부되었습니다(암호 사용: 아니요). (0) | 2023.08.26 |
python의 mysql 인스턴스 설치 문제 (0) | 2023.08.26 |