400 Bad Request 使用邮递员复制的请求代码

400 Bad Request using postman copied request code

我已经从

获取了请求代码
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();

我正在尝试提出 post 请求。我已成功 运行 postman 中的请求。我从 postman 那里复制了代码。但是当我 运行 java 中的请求时,我收到 400 Bad Request。我不知道为什么,因为所有 headers 和 body 与 postman.

中的完全相同

您输入的 Sex 中缺少引号

此处确认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": []
}'