[SPRING] URL 요청에 배열을 보내는 방법
SPRINGURL 요청에 배열을 보내는 방법
내 요구 사항은 다음과 같습니다.
나는 배우 이름, 시작 날짜, 종료 날짜를주고 그 기간에 그가 연기 한 모든 영화를 얻고 싶습니다.
이런 이유로 내 서비스 요청은 이와 같습니다.
http://localhost:8080/MovieDB/GetJson?name=Actor&startDate=20120101&endDate=20120505
자, 나는 그것을 향상시키고 싶다. 시작 날짜, 종료 날짜, 둘 이상의 배우 이름을 지정하고 그 기간에 모든 배우 영화를보고 싶습니다.
나는 그런 URL을 어떻게 지원해야하는지 잘 모르겠습니다.
나는 봄을 사용하여 자바 기반의 웹 서비스를 작성 중이다.
아래 코드는 하나의 액터를 지원하는 것입니다.
@RequestMapping(value = "/GetJson", method = RequestMethod.GET)
public void getJson(@RequestParam("name") String ticker, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate) {
//code to get results from db for those params.
}
한 가지 해결책은 % 기호를 사용하여 액터 이름을 구분하는 것입니다. 예 :
http://localhost:8080/MovieDB/GetJson?name=Actor1%Actor2%Actor3&startDate=20120101&endDate=20120505
이제, 컨트롤러에서 나는 % 문자열로 구문 분석하고 모든 액터 이름을 되 찾을 것입니다.
이것을 수행하는 좋은 방법입니까 아니면 표준 접근 방식입니까?
감사
해결법
-
==============================
1.쉼표로 구분하십시오.
쉼표로 구분하십시오.
http://localhost:8080/MovieDB/GetJson?name=Actor1,Actor2,Actor3&startDate=20120101&endDate=20120505
또는:
http://localhost:8080/MovieDB/GetJson?name=Actor1&name=Actor2&name=Actor3&startDate=20120101&endDate=20120505
또는:
http://localhost:8080/MovieDB/GetJson?name[0]=Actor1&name[1]=Actor2&name[2]=Actor3&startDate=20120101&endDate=20120505
어느 쪽이든, 메소드 서명은 다음과 같아야합니다.
@RequestMapping(value = "/GetJson", method = RequestMethod.GET) public void getJson(@RequestParam("name") String[] ticker, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate) { //code to get results from db for those params. }
from https://stackoverflow.com/questions/11889997/how-to-send-an-array-in-url-request by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 런타임시 스프링의 @Scheduled fixedDelay를 변경하는 방법 (0) | 2018.12.25 |
---|---|
[SPRING] JPA Transient Annotation 및 JSON (0) | 2018.12.25 |
[SPRING] 응답 유형에 적합한 HttpMessageConverter가 없습니다. (0) | 2018.12.24 |
[SPRING] Spring @Autowired 및 @Qualifier [닫힘] (0) | 2018.12.24 |
[SPRING] 서블릿 컨테이너를 다시 시작하지 않고 Spring 구성 파일을 다시로드 / 새로 고침 (0) | 2018.12.24 |