Android デバイスでAsyncHttpServerが動作しています。次のように設定された POST の reqquest コールバック メソッドがあります。
server.post(pattern, new HttpServerRequestCallback() {
@Override
public void onRequest(AsyncHttpServerRequest request,
AsyncHttpServerResponse response) {
try {
List<T> entityList = mapper.readValue(request.getBody().get().
toString(), typeReference);
for (T newEntity : entityList) {
newEntity.save();
}
response.code(200);
response.end();
} catch (IOException e) {
e.printStackTrace();
}
}
});
server はnew AsyncHttpServer()
、 mapper はnew ObjectMapper()
で始まる行にブレークポイントがList<T>
あり、次のように cURL を使用してサーバーにデータを POST しようとしています。
curl -H "Content-Type: application/json" -X POST -d '[{"_id":"767da7ae-
7826-4f67-853a-23f1d69b5f39","label":"L"}]' http://myserver:5000/test
何らかの理由で、set を return に設定して投稿しているときに、Content-Type
コンテンツタイプをbody に変更すると、期待どおりに cURL を含む JSON データ セットが含まれますapplication/json
request.getBody()
。null
text/plain
なぜこれが起こるのか、どうすれば動作させることができContent-Type: application/json
ますか?