亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

spring mvc 有如下兩個映射,應該怎么處理這兩個映射呢?

spring mvc 有如下兩個映射,應該怎么處理這兩個映射呢?

滄海一幻覺 2023-04-04 21:17:09
@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貢獻1797條經驗 獲得超4個贊

Spring根據后綴來決定編組格式.
如果你想返回json.

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
                <!-- 設置為false開啟對Accept Header的支持-->
                <property name="ignoreAcceptHeader" value="false"/>
                <!-- 在沒有擴展名時的默認形式 -->
                 <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格式的~沒有后綴名會根據Accept類型.


查看完整回答
反對 回復 2023-04-07
  • 1 回答
  • 0 關注
  • 174 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號