Citrusテストでは、REST APIに(旅行)リクエストが送信されます。応答は次のように処理されます。ペイロード内に予期しない文字があります
応答コード500が受信されますが、これは私が期待するものです。 Wiresharkので、私は次のパッケージを捕獲:私はテンプレートにペイロードを移動すると
Host: localhost:18082
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_121)
Accept-Encoding: gzip,deflate
{ "definition": "travelrequest.xml", "name": "travelrequest" } HTTP/1.1 500 Internal Server Error
Server: spray-can/1.3.3
Date: Thu, 13 Apr 2017 15:33:37 GMT
、私のテストの受信部分は、次のようになります。
http()
.client("http://localhost:18082/cases")
.send()
.post()
.accept("application/json; charset=UTF-8")
.contentType("application/json")
.payload(new ClassPathResource("templates/travelrequest.json"));
//.payload(
// "{ "+
// "\"definition\": \"travelrequest.xml\", "+
// "\"name\": \"travelrequest\" "+
// "} "
//);
テンプレートリソースは、このテキストが含まれています。
{
"definition": "travelrequest.xml",
"name": "travelrequest"
}
私はこのテストを実行すると、私は別の応答コード受信:
:Wiresharkのでは400を、私は次のパッケージを撮影しHost: localhost:18082
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_121)
Accept-Encoding: gzip,deflate
?{
"definition": "travelrequest.xml",
"name": "travelrequest"
}HTTP/1.1 400 Bad Request
Server: spray-can/1.3.3
Date: Thu, 13 Apr 2017 15:36:15 GMT
予期しない質問マークで要求が開始されることに注意してください。この疑問符はシトラスの出力には表示されません。
17:36:13,629 DEBUG client.HttpClient| Sending HTTP message to: 'http://localhost:18082/cases'
17:36:13,629 DEBUG client.HttpClient| Message to send:
{
"definition": "travelrequest.xml",
"name": "travelrequest"
}
17:36:13,630 DEBUG ingClientInterceptor| Sending Http request message
開口部の直前にスペースがありますか?
これは特殊文字ですか?ペイロードになぜ追加されますか?論理的な説明はありますか?
乾杯、 エド