簡體   English   中英

REST保證-如何啟動“傳輸編碼:分塊”-我目前收到apache錯誤“傳輸編碼頭已存在”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM