우리는 Spring Web MVC를 사용하여 간단한 휴식 API를 구현하고있다. 핸들러 중 하나는 ID라는 int 매개 변수를 요청 매개 변수로 사용합니다.Spring-MVC Rest API 핸들러에서의 커스텀 인수 변환
@RequestMapping(value="/requestEntity",
method=RequestMethod.GET)
public ModelMap getEntity(
@PathVariable(value="id")final Integer id,
HttpServletResponse response) throws IOException {
내가 요청 객체는 문자열로 요청 파라미터 값을 갖는 것을 알 (NAME1 = VALUE1 & NAME2 = 22) 및 그것의 파라미터로 ID를 가질 때, 핸들러 마술 int를받을 것이다. 우리는 입력으로서 값 "1 2 3"을 보내면 우리 보내면
"/requestEntity", id="5" -> getEntity(5);
불행히도, 우리는 인수로 번호 (123)를 얻을 5 "123"우리는 인수로 (5)를 얻는다.
"/requestEntity", id="1 2 3" -> getEntity(123); // WRONG -- we want to throw an error
"/requestEntity", id="5;123" -> getEntity(5); // ALSO WRONG
내가 알 수있는 한, Spring은 문자열 매개 변수 값을 처리기가 필요로하는 int 인수로 변환하는 변환을 수행하고 있습니다. 자체의 인수 변환기를 어떻게 구현할 수 있습니까?