복붙노트

[SPRING] 스프링 MVC 컨트롤러에 대한 GET 요청에서 날짜 매개 변수를 수락하는 방법?

SPRING

스프링 MVC 컨트롤러에 대한 GET 요청에서 날짜 매개 변수를 수락하는 방법?

YYYY-MM-DD 형식의 날짜를 Spring Controller로 보내는 GET 요청을 받았습니다. 컨트롤러 코드는 다음과 같습니다.

@RequestMapping(value="/fetch" , method=RequestMethod.GET)
    public @ResponseBody String fetchResult(@RequestParam("from") Date fromDate) {
        //Content goes here
    }

Firebug로 확인하면 요청이 올바르게 전송됩니다. 오류가 발생했습니다.

컨트롤러가이 형식의 날짜를 허용하도록하려면 어떻게합니까? 도와주세요. 내가 뭘 잘못하고 있죠?

해결법

  1. ==============================

    1.좋아, 해결 했어. 하루 종일 코딩을하고 피곤할 수있는 사람을 위해이 책을 쓰십시오. 그런 바보 같은 짓을 피하십시오.

    좋아, 해결 했어. 하루 종일 코딩을하고 피곤할 수있는 사람을 위해이 책을 쓰십시오. 그런 바보 같은 짓을 피하십시오.

    @RequestMapping(value="/fetch" , method=RequestMethod.GET)
        public @ResponseBody String fetchResult(@RequestParam("from") @DateTimeFormat(pattern="yyyy-MM-dd") Date fromDate) {
            //Content goes here
        }
    

    예, 간단합니다. DateTimeFormat 주석을 추가하기 만하면됩니다.

  2. ==============================

    2.이것은 내가 프런트 엔드에서 날짜 형식을 얻으려고했던 것입니다.

    이것은 내가 프런트 엔드에서 날짜 형식을 얻으려고했던 것입니다.

      @RequestMapping(value = "/{dateString}", method = RequestMethod.GET)
      @ResponseBody
      public HttpStatus getSomething(@PathVariable @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) String dateString) {
       return OK;
      }
    

    당신이 원하는 것을 얻기 위해 그것을 사용할 수 있습니다.

  3. from https://stackoverflow.com/questions/15164864/how-to-accept-date-params-in-a-get-request-to-spring-mvc-controller by cc-by-sa and MIT license