0

を使用して入力ストリームから読み取っています(t/read request-body :json) が、java.lang.RuntimeException: java.io.EOFException.

{"あいうえお"}
java.lang.RuntimeException: java.io.EOFException
                   ReaderFactory.java:122 com.cognitect.transit.impl.ReaderFactory$ReaderImpl.read
                  TransitFactory.java:136 com.cognitect.transit.TransitFactory$DeferredJsonReader.read
                          transport.clj:285 cognitect.transit/読み取り

なぜこれが考えられるのでしょうか?

わかりやすくするために、curl POST リクエストは次のようになります。

%curl -X POST ...../word -H "Content-Type: application/json" -d '{"A":"B", "C":"D"}' -v > abc.html 
* Hostname was NOT found in DNS cache
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:--     --:--:--     0*   Trying 178.63.65.149...
* Connected to ..... (178.63.65.149) port 80 (#0)
> POST /word HTTP/1.1
> User-Agent: curl/7.37.1
> Host: .....
> Accept: */*
> Content-Type: application/json
> Content-Length: 18
> 
} [data not shown]
* upload completely sent off: 18 out of 18 bytes
< HTTP/1.1 500 Server Error
* Server nginx/1.2.1 is not blacklisted
< Server: nginx/1.2.1
< Date: Sat, 04 Apr 2015 19:05:03 GMT
< Content-Type: text/html;charset=ISO-8859-1
< Content-Length: 13190
< Connection: keep-alive
< 
{ [data not shown]
100 13208  100 13190  100    18  79062    107 --:--:-- --:--:-- --:--:-- 79457
* Connection #0 to host ..... left intact

4

1 に答える 1

1

ログ データを見ると、リクエストの本文は実際には json ではなく、json ファイルのアップロードを含むマルチパート/フォーム データ エンコードされたフォームのように見えます。

于 2015-04-04T18:31:42.523 に答える