1. 程式人生 > >http請求使用patch,後臺Springmvc處理請求引數問題

http請求使用patch,後臺Springmvc處理請求引數問題

我使用jmeter和jsp+ajax來發送patch的請求一直報400,415的錯誤。 1先說jmeter,我一開始是將請求引數放在parameters中。然後方法選擇patch,但是一直請求不到

2.我用ajax也是一樣:

上網查資料:(https://vaskoz.wordpress.com/2013/07/20/spring-requestmethod-patch/)
意思在這裡,首先用patch方法,預設是以x-www-form-urlencoded的contentType來發送資訊,並且資訊內容是放在request的body裡,後臺Springmvc的controller在解析controller引數的時候使用的解析器是ServletModelAttributeMethodProcessor,但是這個方法不支援PATCH,當使用getParameterMap()獲取body內容的時候,獲取不到資訊。 所以這裡需要用到@RequestBody的方法來繫結資料,此時使用的是RequestResponseBodyMethodProcessor來解析Controller的引數,可以將json格式的內容裝載到pojo裡,Java Servlet沒有doPatch的方法,所以沒辦法解析傳遞過來的引數,故用了Spring,所以如果你用了“application/json”的contentType,你必須傳遞一個json格式的內容 再看這個解釋:(http://docs.spring.io/spring-data/rest/docs/current/reference/html/)

也就是說contentType只是支援這四個方式。 然後我在jmeter修改了下
然後添加了個header:(contentType可以是上面4種之一)
後臺是這樣取得:
這樣就可以獲取成功了,傳遞的引數會裝到restParams中。 如果我把jmeter傳遞引數改成ptime=11111111&sign="xxxxxxxxx",後臺會報錯 2017-02-28 11:37:16,763  WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver [qtp4133428-19] (DefaultHandlerExceptionResolver.java:377) - Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Unrecognized token 'ptime': was expecting ('true', 'false' or 'null')  at [Source:
[email protected]
; line: 1, column: 7]; nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'ptime': was expecting ('true', 'false' or 'null')  at [Source: [email protected]; line: 1, column: 7] 這個錯誤我後面會繼續跟進。 (後來的補充:因為content-type設定的是json格式,所以傳遞的引數不能是 引數=值&引數=值 的格式,不然傳到後臺,是使用json解析器來解析,這時會解析失敗)
好了說回ajax。 改動為:
添加了contenType與將引數轉化為json格式再傳遞過去。 注意一定要將內容轉為json才能傳送,不然400:
轉為json:

相關推薦

http請求使用patch後臺Springmvc處理請求引數問題

我使用jmeter和jsp+ajax來發送patch的請求一直報400,415的錯誤。 1先說jmeter,我一開始是將請求引數放在parameters中。然後方法選擇patch,但是一直請求不到 2.我用ajax也是一樣: 上網查資料:(https://vas

ajax傳陣列到後臺後臺springmvc 接受陣列引數

關於ajax傳陣列到後臺,後臺springmvc  接受陣列引數  特意整理了一下】 var   ids= new Array();  var checkId = new Array();//定義一個數組用來接收引數         $("input:checked

.net 自由切換http和https請求頁面含帶處理css和js切換時失效問題

在切換頁面請求前的準備工作是先申請443埠下的安全證書,這裡不做詳解 可在相關網站上進行申請。 在切換http和https可以使用iis7的url重寫功能,也可以使用其它的一些外掛。 這裡我使用的是SecuritySwitch v4.2.0.0 ;可在我的部落格資源中下載,也可以在網上

SpringMVC處理請求流程(http://www.cnblogs.com/hujiapeng/p/5765636.html)

SpringMVC核心處理流程: 1、DispatcherServlet前端控制器接收發過來的請求,交給HandlerMapping處理器對映器 2、HandlerMapping處理器對映器,根據請求路徑找到相應的HandlerAdapter處理器介面卡(處理器介面卡就

WCF服務支持HTTP(getpost)方式請求例子

content user 例子 方式 bar httpbind read ole mar /// <summary> /// Http Get請求 /// </summary> ///

SpringMVC處理請求的工作流程

Spring簡介 DI(Dependency Injection):依賴注入,四種注入方式 IOC(Iversion of Controller):控制反轉 AOP(Aspect-Oriented Programming):面向切面程式設計,包括Spring的宣告式事務管理 處理

WCF服務支援HTTP(getpost)方式請求例子

https://www.cnblogs.com/li150dan/p/9529413.html   /// <summary> /// Http Get請求 /// </summary> ///

springmvc處理請求詳解與原始碼分析

一、Dispatchservlet繼承體系 在我上一篇部落格中,我主要分析了springmvc體系的建立過程,主要是上圖中DispatcherServlet,它的父類FrameworkServlet,及HttpServletBean的建立過程,詳情可至 s

Jmeter請求post後臺一直獲取不到資料

一開始我用Jmeter做發post請求後臺,Jmeter我是這麼寫的: 後臺我用RequestServletUtils.getStringParameter的方式來獲取傳過來的值,但是一直獲取不到,我使用了http資訊頭:Content-Type=applcation/

前臺傳遞POST與GET請求後臺接收資料

今天9月30號,距離放假還有一天,划水過程中記錄一下曾經遇到的問題。 get請求:在常規理解上來,是跟在位址列後方的眾多變數,在後臺接收的時候,我們可以定義一個包裝物件,或者是直接用引數來接收,或者用Map來接收都可以,其中我們可能會用到@RequestParam註解來對接

SpringMvc處理請求流程

1、傳送請求至前端控制器(DispatcherServlet) 2、前端控制器請求HandlerMapping 查詢Handler(根據xml 或者 註解 查詢) 3、處理器對映器HandlerMapping 向前端控制器返回Handler 4、前端控制器請求處理器介

前臺ajax請求JsonDate型別處理

情景:在用ajax請求json資料,後臺Java從Mysql中獲取資料,當資料庫中包含date型別時,前臺可以自動轉換為日期字串格式,如2013-12-27. 而資料庫中的datetime型別,前臺顯示的卻是一串數字。 處理:首先在前臺得到javascript可以識別的d

無法驗證資料。執行當前 Web 請求期間出現未處理的異常。請檢查堆疊跟蹤資訊

無法驗證資料。       說明:   執行當前   Web   請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以瞭解有關該錯誤以及程式碼中導致錯誤的出處的詳細資訊。           異常詳細資訊:   System.Web.HttpException:   無法驗證資

記一次Controller改造SpringMVC處理流程

概述 由於工作需要,需實現這樣一個功能的controller框架: 1,Restful API 2,請求引數校驗(請求中需要攜帶指定的引數,才能進入控制器方法。一次請求會攜帶一些基本資訊,以及請求資料,此處校驗的是請求資料的攜帶情況) 3,請求格式校驗(請求格式需要符合規定,才能進入

URL出現特殊符號後臺無法正確獲取引數

Url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在伺服器端無法獲得正確的引數值,抑或是造成不能正常下載檔案(作為Download Url時候),如何是好?解決辦法:就是需要將這些字元轉化成伺服器可以識別的字元;但是為何Url中有這些字元就會出現問題

springmvc處理請求過程中出現異常資訊交由異常處理器進行處理,自定義異常處理器可以實現一個系統的異常處理邏輯。為了區別不同的異常通常根據異常型別自定義異常類這裡我們建立一個自定義系統異常如果controller、service、dao丟擲此類異常說明是系統預期處理的異常資訊。

springmvc在處理請求過程中出現異常資訊交由異常處理器進行處理,自定義異常處理器可以實現一個系統的異常處理邏輯。 1.1 異常處理思路 系統中異常包括兩類:預期異常和執行時異常RuntimeException,前者通過捕獲異常從而獲取異常資訊,後者主要通過規範程式碼開發、測試通過手段減少執

springmvc處理請求過程中出現異常信息交由異常處理器進行處理,自定義異常處理器可以實現一個系統的異常處理邏輯。為了區別不同的異常通常根據異常類型自定義異常類這裏我們創建一個自定義系統異常如果controller、service、dao拋出此類異常說明是系統預期處理的異常信息。

ansi req -type this spring 進行 name ext code springmvc在處理請求過程中出現異常信息交由異常處理器進行處理,自定義異常處理器可以實現一個系統的異常處理邏輯。 1.1 異常處理思路 系統中異常包括兩類:預期異常和運行時異常Ru

java中httpclent以post方式提交請求http返回碼是302重定向時不自動跳轉的處理

場景: 介面A:請求地址為http://www.test.com/test 介面A的功能,會把接收到的引數url寫入到header的Location屬性中 在java中,使用httpclient傳送請求, 在以get方式傳送請求時,http的返回碼是200,自動處理了重定

svc 報“由於擴充套件配置問題而無法提供您請求的頁面。如果該頁面是指令碼請新增處理程式。如果應下載檔案請新增 MIME 對映。“的HTTP 錯誤 404.3 – Not Found

原因:系統沒有預設為IIS註冊WCF服務的svc檔案的MIME對映。 解決方法:管理員身份執行C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.e

簡單的利用UrlConnection後臺模擬http請求

轉載地址:http://blog.csdn.net/xiaoxian8023/article/details/49785417 這兩天在整理看httpclient,然後想自己用UrlConnection後臺模擬實現Http請求,於是一個簡單的小例子就新鮮出爐了(支援代理哦