새소식

반응형
250x250
🔲 Framework/🌐 전자정부 표준프레임워크

[eGov]전자정부 표준프레임워크(3.10.0) RESTful API 설정, @RequestBody 오류, GetMapping 404 오류

  • -
728x90
반응형

 

@RequestBody 오류

 

 

전자정부 표준프레임워크에서 RESTful API 중 postmapping으로 회원가입을 구현하려는 상황에서, RequestBody로 VO에 클라이언트가 전송한 데이터를 받으려는데 해당 컨트롤러에 매핑이 안되는 오류 발생.

알고보니 전자정부 프레임워크에서는 @RequestBody 어노테이션을 활용하려면 dispatcher-servlet.xml에서 별도의 설정이 필요하다.

 

<mvc:annotation-driven></mvc:annotation-driven>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
	<property name="messageConverters">
		<list>
			<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
		</list>
	</property>
</bean>

 

해당 설정 추가하고 실행해보니 매핑 성공했다!

 

 

GetMapping 오류

 

 

회원의 아이디를 url에 파라미터로 붙이는 Get 방식을 이용하여 회원 조회 기능을 사용하려 하였으나.. 클라이언트의 요청 url과 컨트롤러의 매핑 value가 같은데도 404 오류가 뜨는 에러가 발생했다.

 

원인은 REST API get 방식에 파라미터를 쓸 때는 계층적 url을 사용해야 하는데, 전자정부 프레임워크의 디폴트 설정은 모든 url 매핑 시 url 마지막에 .do를 붙이는 설정이 되어있기 때문에 계층적 url 적용이 안 되기 때문이었다.

따라서 web.xml에서 url 매핑 부분 설정을 수정해야 한다.

 

<servlet-mapping>
	<servlet-name>action</servlet-name>
	<!-- <url-pattern>*.do</url-pattern> -->
		 <url-pattern>/</url-pattern>
</servlet-mapping>

이렇게 전자정부 프레임워크에 성공적으로 RESTful API 설정 완료!

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.