springBoot PUT請求接收不了參數的解決辦法

    作項目的時候,想把接口寫標準點,因而在更新內容的時候採用put提交內容,可是提交內容時老是獲取不到參數,老是選擇參數爲null。java

    首先貼出個人put的方法控制器的代碼web

    和以前的通常請求處理的同樣,開啓調試模式調試了一下,發現傳上來的token參數爲null。spring

    百思不得其解,因而在網上尋找了一下資料,可是沒有關於spring boot 解決這種問題的方法,因而就直接找了下spring關於這方面的問題,這裏給出了一種解決方法。app

<filter>
		<filter-name>HttpMethodFilter</filter-name>
		<filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>HttpMethodFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

    在web.xml添加filter來容許全部的put方法,來容許全部的put請求方法帶參訪問。url

    可是Spring boot是沒有XML配置的,因而就試了試看可不能夠經過註解的方式來配置HttpPutFormContentFilter過濾器。調試

import org.springframework.stereotype.Component;
import org.springframework.web.filter.HttpPutFormContentFilter;

/**
* Created by Administrator on 2016/8/3.
*/
@Component
public class PutFilter extends HttpPutFormContentFilter {
}

    出乎意料的能夠,運行了一下。code

    在打印的log中能夠發現,咱們設置的putFilter已經生效了,因而重新的訪問了一下接口,發現接受的參數仍是爲null,可是須要把form表單的enctype屬性設置爲application/x- www-form-urlencoded.,以後終於能夠獲取參數了,以下orm

 

相關文章
相關標籤/搜索