Restful URL 호출할때 url확장자가 아닌 요청파라미터로 결정하고 싶습니다.
- 작성자 :
- 정*희
- 작성일 :
- 2015-07-14 15:46:48
- 조회수 :
- 1,601
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
Restful URL 호출할때 url확장자(/test.json 또는 /test.xml)가 아닌
요청 파라미터(/test?format=json 또는 /test?format=xml)로 결정하고 싶습니다.
하여 밑에 보시는 것과 같이
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="favorPathExtension" value="false" />
<property name="favorParameter" value="true" /> 이 두줄을 favorPathExtension,favorParameter 설정을 변경
<property name="mediaTypes">
<map>
<entry key="xml" value="application/xml" />
<entry key="json" value="application/json" />
</map>
</property>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller" ref="marshaller" />
</bean>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="prefixJson" value="false"/>
</bean>
</list>
</property>
</bean>
위와 같이 수정하였음에도 호출이 되지 않습니다.. 혹시 저렇게 요청 파라미터 방식으로 수정할 시에 controller쪽도
수정해주어야 하나요??
밑에는 controller 코드입니다.
(호출시에 http://localhost:8080/biz/lim/lifGrpGrade/11350-5562?format=json 이렇게 호출하였습니다. )
@RequestMapping(value = "/lim/lifGrpGrade/{mgmBldrgstPk}")
public String searchLifXML2(@PathVariable String mgmBldrgstPk, Model model) throws Exception{
LifGrpGradeVO vo = new LifGrpGradeVO();
vo.setMgmBldrgstPk(mgmBldrgstPk);
model.addAttribute(lifGrpGradeService.selectLifGrpGrade(vo));
return null;
}
요청 파라미터(/test?format=json 또는 /test?format=xml)로 결정하고 싶습니다.
하여 밑에 보시는 것과 같이
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="favorPathExtension" value="false" />
<property name="favorParameter" value="true" /> 이 두줄을 favorPathExtension,favorParameter 설정을 변경
<property name="mediaTypes">
<map>
<entry key="xml" value="application/xml" />
<entry key="json" value="application/json" />
</map>
</property>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller" ref="marshaller" />
</bean>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="prefixJson" value="false"/>
</bean>
</list>
</property>
</bean>
위와 같이 수정하였음에도 호출이 되지 않습니다.. 혹시 저렇게 요청 파라미터 방식으로 수정할 시에 controller쪽도
수정해주어야 하나요??
밑에는 controller 코드입니다.
(호출시에 http://localhost:8080/biz/lim/lifGrpGrade/11350-5562?format=json 이렇게 호출하였습니다. )
@RequestMapping(value = "/lim/lifGrpGrade/{mgmBldrgstPk}")
public String searchLifXML2(@PathVariable String mgmBldrgstPk, Model model) throws Exception{
LifGrpGradeVO vo = new LifGrpGradeVO();
vo.setMgmBldrgstPk(mgmBldrgstPk);
model.addAttribute(lifGrpGradeService.selectLifGrpGrade(vo));
return null;
}
A
안녕하세요.
표준프레임워크 센터 입니다.
Controller에서 ModelAndView 에 대한 정의가 안되 거 같습니다.
아래 샘플을 참고해서 작업 하시면 될 꺼 같습니다.
@RequestMapping(value = "/lim/lifGrpGrade/{mgmBldrgstPk}")
public ModelAndView searchLifXML2(@PathVariable String mgmBldrgstPk) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("json");
modelAndView.addObject("...", ....);
return modelAndView;
}
표준프레임워크 센터 입니다.
Controller에서 ModelAndView 에 대한 정의가 안되 거 같습니다.
아래 샘플을 참고해서 작업 하시면 될 꺼 같습니다.
@RequestMapping(value = "/lim/lifGrpGrade/{mgmBldrgstPk}")
public ModelAndView searchLifXML2(@PathVariable String mgmBldrgstPk) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("json");
modelAndView.addObject("...", ....);
return modelAndView;
}