[英]REST Assured - How do I instigate “Transfer-Encoding: chunked” - I currently get apache error “Transfer-encoding header already present”
我對Java和REST / REST確保很陌生。 我正在嘗試通過“標頭”設置“傳輸編碼:分塊”設置來創建POST請求,但出現異常“ org.apache.http.ProtocolException:傳輸編碼標頭已經存在”。
我正在使用的代碼與以下代碼類似.... @ Test .......給定().headers(使用設置所需標頭的方法,包括“ Transfer-encoding”).body(“ testdata“ .getBytes()).contentType(MediaType.APPLICATION_OCTET_STREAM).log()。all().expect().statusCode(HttpStatus.SC_OK).post();
但出現異常“ org.apache.http.ProtocolException:傳輸編碼標頭已存在”。
有誰知道我為什么要得到例外/如何解決它? 提前致謝。
昨天我可以使用八進制流
given().urlEncodingEnabled(false)
.config(RestAssured.config()
.encoderConfig(new EncoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false)
.encodeContentTypeAs("application/octet-stream", ContentType.TEXT)))
您無需添加傳輸編碼,因為REST確保框架會為您完成此操作。
您需要urlEncodingEnabled,因為它會自動進行編碼,而需要encodeContentTypeAs作為使用序列化程序的內部框架。
這可能會幫助其他將來可能會遇到類似問題的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.