我有AsyncHttpServer在我的 Android 设备上工作。我有 POST 设置的请求回调方法,如下所示:
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();
}
}
});
服务器在哪里new AsyncHttpServer()
,映射器在哪里new ObjectMapper()
我在以 开头的行有断点List<T>
,我正在尝试使用 cURL 将一些数据发布到服务器,如下所示:
curl -H "Content-Type: application/json" -X POST -d '[{"_id":"767da7ae-
7826-4f67-853a-23f1d69b5f39","label":"L"}]' http://myserver:5000/test
出于某种原因,当我使用Content-Type
设置为application/json
request.getBody()
返回发布时null
,但如果我将内容类型更改为text/plain
body 包含 JSON 数据集和 cURL,正如我所期望的那样。
有谁知道为什么会发生这种情况,我怎样才能让它工作Content-Type: application/json
?