컴퓨터 관련/Java 정보
Rest API PathVariable 에 (. Comma) 콤마 인식하기
보뇨
2019. 5. 8. 10:35
반응형
해당 url 은 rest api 규격에 좀 맞지않는 부분이 있지만 너그럽게 보시길...헤헿
원래 조회를 할때 조건으로 들어가는것들은 Params 쪽에 들어가지만 여기는 PathVariable 에 조건이 들어가기때문에 따라하지마세욧!!
각설하고 빨리 코드를 보자
아래 코드는 보면 2번째 라인에 param 부분이 pathVariable 이다.
여기에는 6번라인의 login_id 와 login_pw 두개가 들어있어야한다 데이터는 다음과 같다/account/login_id=test@google.com&login_pw=1234
이 코드를 실행 시키면 login_pw 가 없다고 에러를 뱉어낸다
@SuppressWarnings({ "rawtypes" })
@RequestMapping(value = "/account/{param}", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity getAccount(@PathVariable String param, HttpServletRequest request) {
try {
String json = VaildCheck(param, new String[] { "login_id", "login_pw" });
SelectParamVO vo = new Gson().fromJson(json, SelectParamVO.class);
SelectResultVO result = service.accountSelect(vo);
return makeResponseEntity(result);
} catch (Exception e) {
return makeResponseEntity(e);
}
}
정확히 데이터는 account/login_id=test@naver
여기까지만 받는다 이상하게 생각해서 찾아보니 해결방법은 있었다 바로 아래와 같이 하면 끝이다. 그럼 ~~
@SuppressWarnings({ "rawtypes" })
@RequestMapping(value = "/account/{param:.+}", method = RequestMethod.GET)
@ResponseBody
출처
https://stackoverflow.com/questions/16332092/spring-mvc-pathvariable-with-dot-is-getting-truncated
반응형