当前位置: 首页 > 知识库问答 >
问题:

新泽西客户总是抛出400个错误请求

岳嘉石
2023-03-14

我有一个Rest后的电话。每当我尝试使用邮递员打电话时,它都工作正常。但是如果我使用JerseyAPI客户端尝试相同的帖子调用。我收到400个错误请求

字符串URI=“rest URI”;

    Client client = Client.create();

    WebResource webResource = client.resource(URI);
    try {

        String input1 = "{\"callType\": \"UPDATE\",\"emails\": [\"qa_tester2222@gmail.com\",\"qa_tester2222@gmail.com\"],\"event\": \"UPDATE_EVENT\",\"externalIds\": [ \"id\" ], \"fraudAction\": \"CONFIRMED_FRAUD\",\"fraudCategory\": \"Account Takeover\",\"memo\": \"test fraud case management for AD\",\"origin\": \"SE4\",\"phones\": [],\"requester\": \"corsairUser\",\"source\": \"LIVE\" }";

        ClientResponse response = webResource.type("application/json")
                .header("Authorization", "Basic secretKey")
                .post(ClientResponse.class, input1);

        if (response.getStatus() != 201) {
            throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
        }

        System.out.println("Output from Server .... \n");
        String output = response.getEntity(String.class);
        System.out.println(output);

    } catch (

    Exception e) {

        e.printStackTrace();

    }

}

如果我使用上述输入在Postman中运行相同的请求,我可以成功命中api并获得200,但在JerseyAPI中获得400

共有1个答案

方德宇
2023-03-14

由于您收到的请求响应不正确,我认为您应该使用适当的JSON工具创建JSON字符串。您可以从字符串创建JSON对象开始,然后使用JSON对象检索输入。

创建JSON对象:

JSONObject jsonObject = new JSONObject(string);

使用JSON对象作为输入:

ClientResponse response = webResource.type("application/json")
                .header("Authorization", "Basic secretKey")
                .post(ClientResponse.class, jsonObject.toString());
 类似资料:
  • 当我的客户机应用程序尝试从我的安全RESTWeb服务请求资源时,我得到了粘贴在下面的错误。 我已经在这个主题上找到了这个答案,但是额外的代码似乎很极端。使用泽西岛客户端访问安全的宁静Web服务 有谁知道解决问题的更简单的方法吗? 我的项目:在服务器端,我正在使用jdbc realm的基本身份验证,这在浏览器中使用时工作正常。在客户端,我设置了用户名和密码,当我发送请求时发生错误。如果您需要代码片段

  • 当我从JUnit测试用例向Rest服务发送请求时,我收到了400个坏请求。我的密码。错误日志快结束了。请帮我解决这个问题。当我通过直接在URL中传递参数来调用服务器为:restTemplate.getForObject(BASE_URL+“/Remote?ServiceName=SimpleService&Source=Web”,HelloWorld.Class)时,不会出现任何错误。但如何通过使

  • 我不知道为什么我不能为注册用户发布数据,我需要一些其他的东西,比如解析或者....请帮助我,谢谢

  • 问题内容: 我只是使用a 从这样的用户那里获取最新的tweet: 这在我的本地主机上运行良好,但是当我将其上传到服务器时会引发以下错误: 警告: file_get_contents(http://api.twitter.com/1/statuses/user_timeline/User.json)[function.file- get-contents]:无法打开流:HTTP请求失败!HTTP /

  • 我尝试发送一个删除请求到我的服务器,但我得到一个400坏的请求错误代码。我找了很多,但我找不到任何有帮助解决方案。当我尝试与邮差,请求工作良好。 这是来自Postman的curl命令的外观: 这是我的Java代码: 我还尝试在头中不设置Content-Type,但当我得到一个415错误时,我还删除了getBodyContentType()方法,但这也没有改变。 还有什么能帮上忙的点子吗?

  • 不确定发生了什么,但我不知道我的反应在哪里被劫持了。