Spring mvc에서 post 혹은 put으로 잘 메소드를 정의한 Restful 서비스를 개발하다가 실수한 부분이 있어서 공유한다.
아래의 URL은 url 옆에 : 이 하나 더 붙어서 POST 처리가 전혀 안되었다. 오타 하나가 삽질을 ㅠㅠ
@RequestMapping(value="/staticmap/put/{id:.+}/{url:}", method = {RequestMethod.POST, RequestMethod.PUT})
$ curl -XPOST http://localhost:8080/put/1/2
{"timestamp":1442921858855,"status":405,"error":"Method Not Allowed","exception":"org.springframework.web.HttpRequestMethodNotSupportedException","message":"Request method 'POST' not supported","path":"/put/1/2"}
참고로,intellij에서는 spring mvc url value 값을 일부 분석하고 에러를 보여주는데,
: 에 대한 에러는 발견하지 못하지만,
아래는 에러로 표시해 준다.
{id:+}
intellij에서는 아래는 이상하다는 느낌으로 보여준다.
{id.+}
'general java' 카테고리의 다른 글
[spring boot] gradle 의 daemon=true을 이용해서 컴파일 및 startup 속도 향상 (0) | 2015.09.23 |
---|---|
[spring mvc] Header에 Http Status로 결과 변경하기 예제 (0) | 2015.09.23 |
[Spring Boot] 테스트 with Mocktio (0) | 2015.09.08 |
[zookeeper] java 클라이언트 사용 (0) | 2015.09.01 |
Spring Boot + Gradle + Devtools 사용기 (0) | 2015.09.01 |