@RequestMapping(value="/users/{id}")
public String renderUser(@PathVariable("id") int id){ //do something}@RequestMapping(value="/users/{id}.{format}")
public String renderUserOf(@PathVariable("id") int id,@PathVariable("format") String format){ //do something}第一個 "/users/{id}" 能夠正常處理但是第二個 /users/{id}.{format} 卻不能正常解析比如 /users/7 會被映射為 "/users/{id}" ,但 /users/7.json 卻也被映射為了 "/users/{id}"
1 回答

繁星coding
TA貢獻(xiàn)1797條經(jīng)驗 獲得超4個贊
Spring根據(jù)后綴來決定編組格式.
如果你想返回json.
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <!-- 設(shè)置為false開啟對Accept Header的支持--> <property name="ignoreAcceptHeader" value="false"/> <!-- 在沒有擴(kuò)展名時的默認(rèn)形式 --> <property name="defaultContentType" value="application/xml"/> <property name="mediaTypes"> <map> <entry key="json" value="application/json" /> <entry key="xml" value="application/xml" /> <entry key="jsp" value="text/html"/> <entry key="do" value="text/html"/> </map> </property> <property name="viewResolvers"> <list> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView"/> <property name="prefix" value="/WEB-INF/jsp/"></property> </bean> <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" /> </list> </property> <property name="defaultViews"> <list> <!-- for application/xml --> <bean class="org.springframework.web.servlet.view.xml.MarshallingView" > <property name="marshaller"> <ref bean="castorMarshaller"/> </property> </bean> <!-- for application/json --> <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" /> </list> </property> </bean>
請求id.xml就得到xml格式的,請求id.json就是json格式的~沒有后綴名會根據(jù)Accept類型.
- 1 回答
- 0 關(guān)注
- 170 瀏覽
添加回答
舉報
0/150
提交
取消