小编Nad*_*dee的帖子

使用 okHttp 4.* 将 json 数据发布到 rest api 时,响应代码为 400 的错误请求

目标:我正在使用 sharepoint REST API在我的 sharepoint 站点中创建一个列表。在这种情况下,我使用 okHttp 作为我的 Http 库。

预期结果:使用 okHttp 调用请求时应返回 201 作为响应代码。

实际结果

Exception in thread "main" java.io.IOException: unexpected code Response{protocol=http/1.1, code=400, message=Bad Request, url=https://***.sharepoint.com/_api/web/lists}
    at com.**.list.ListImpl.createAList(ListImpl.java:39)
    at com.**.Test.main(Test.java:16)
Run Code Online (Sandbox Code Playgroud)

以下是我实施的步骤:

  1. 创建一个不记名令牌
  2. 在请求中设置所需的标头
  3. 创建一个我想发送的类型的对象
  4. 将对象序列化为 json,以便数据将作为 json 数据发送。

我已经使用邮递员来测试 API。它工作正常,得到了想要的结果。

我已经调试了代码,预期值也成功分配给了相应的变量。

我知道 400 个错误的请求意味着 JSON 数据有问题,服务器无法解析我发送的 json。尽管我尝试过,但找不到解决此问题的方法。任何帮助,将不胜感激。


以下是代码示例。

ListImpl.java

package com.****.list;

import com.**.app.properties.ApplicationProperties;
import com.**.metadata.MetaData;
import com.**.rest.TokenService;
import okhttp3.*;
import org.json.JSONObject;

import java.io.IOException;

public class ListImpl implements List {

    private String api ="/lists"; …
Run Code Online (Sandbox Code Playgroud)

java okhttp sharepoint-online

5
推荐指数
1
解决办法
486
查看次数

Spring HATEOAS RepresentationModel,无法设置属性链接,因为没有设置器,没有凋零,并且它不是持久性构造函数的一部分

目标:我只是尝试在 Spring HATEOAS 应用程序的 REST 端点上调用 get 调用。这是一个以 MongoDB 作为数据库的简单项目。

预期结果:当我尝试从 REST 控制器类调用 Get 端点时,应返回适当的响应。

实际结果:无法调用 Get 端点,在使用邮递员调用时出现内部服务器错误。

下面是我尝试调用的 REST 端点

localhost:8086/api/customers
Run Code Online (Sandbox Code Playgroud)

以下是错误响应

{
    "timestamp": "2020-09-01T17:34:28.779+00:00",
    "status": 500,
    "error": "Internal Server Error",
    "message": "",
    "path": "/api/customers"
}

Run Code Online (Sandbox Code Playgroud)

我尝试过的:基本上我的 Spring boot 应用程序尝试执行客户和订单功能的 CRUD 操作。首先,我已将一些示例数据预加载到 mongodb 数据库中。当我运行该应用程序时,我可以看到 MongoDB 指南针中的所有数据。我的应用程序启动时没有任何错误。但是当我尝试调用任何 REST 端点时,它会给我一个错误。

下面是完整的堆栈跟踪。

2020-09-01 23:03:11.446  INFO 15824 --- [           main] com.devzigma.DemoApplication             : Starting DemoApplication on SLL014289 with PID 15824 (D:\Java-excersie\spring-hateoas-baeldung - with mongo\target\classes started by buddhika_jayakodi in D:\Java-excersie\spring-hateoas-baeldung - …
Run Code Online (Sandbox Code Playgroud)

java mongodb hateoas spring-boot

5
推荐指数
1
解决办法
7361
查看次数

标签 统计

java ×2

hateoas ×1

mongodb ×1

okhttp ×1

sharepoint-online ×1

spring-boot ×1