보뇨 다이어리

Rest API PathVariable 에 (. Comma) 콤마 인식하기 본문

컴퓨터 관련/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

반응형