使用邮递员复制的请求代码的400错误请求

时间:2020-05-16 10:09:26

标签: java http-post postman httprequest okhttp

我已从

获取了请求代码
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
String json = String.format("{'sex': %s,'age': %d,'evidence': []}", gender, age);
RequestBody body = RequestBody.create(mediaType, json);
Request request = new Request.Builder()
        .url("https://api.infermedica.com/covid19/diagnosis")
        .post(body)
        .addHeader("Content-Type", "application/json")
        .addHeader("Accept", "*/*")
        .addHeader("App-Id", "XXXXXX")
        .addHeader("App-Key", "XXXXXXXXXXXXXXXXXXXXX")
        .addHeader("User-Agent", "PostmanRuntime/7.19.0")
        .addHeader("Accept", "*/*")
        .addHeader("Cache-Control", "no-cache")
        .addHeader("Postman-Token", "58fbac21-182b-41e0-bceb-0905d0605858,cd9580e6-f262-4440-ba33-b85877dd087c")
        .addHeader("Host", "api.infermedica.com")
        .addHeader("Accept-Encoding", "gzip, deflate")
        .addHeader("Content-Length", "56")
        .addHeader("Connection", "keep-alive")
        .addHeader("cache-control", "no-cache")
        .build();

com.squareup.okhttp.Response response = client.newCall(request).execute();

我正在尝试发布帖子。我已经在邮递员中成功运行了请求。而且我已经复制了邮递员的代码。但是当我在Java中运行请求时,我收到了400错误的请求。而且我不知道为什么,因为所有标头和正文都与邮递员中的完全相同。

1 个答案:

答案 0 :(得分:0)

您在输入中缺少“性别”引号

在这里https://developer.infermedica.com/docs/covid-19

确认
curl "https://api.infermedica.com/covid19/diagnosis" \
  -X "POST" \
  -H "App-Id: XXXXXXXX" -H "App-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  -H "Content-Type: application/json" -d '{
    "sex": "male",
    "age": 30,
    "evidence": []
}'