복붙노트

[SPRING] URL 요청에 배열을 보내는 방법

SPRING

URL 요청에 배열을 보내는 방법

내 요구 사항은 다음과 같습니다.

나는 배우 이름, 시작 날짜, 종료 날짜를주고 그 기간에 그가 연기 한 모든 영화를 얻고 싶습니다.

이런 이유로 내 서비스 요청은 이와 같습니다.

  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. ==============================

    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.
     }
    
  2. from https://stackoverflow.com/questions/11889997/how-to-send-an-array-in-url-request by cc-by-sa and MIT license