【问题标题】:How to pass Rest post call inputs如何通过休息后呼叫输入
【发布时间】:2018-06-20 19:13:37
【问题描述】:

我不明白在需要输入时如何使用 webclient 调用 REST api 方法的逻辑。假设我们的 post 方法是

@Post
@Path(/my_url)
@Produces(Some_Media_Type)
@Consumes(Some_Media_Type)
public returnClass function(inputClass1 arg1, inputClass2 arg2) {
        return new returnClass(arg1,arg2);
    }

如何传入 inputClass1 和 inputClass2 的实例?

WebTarget tgt = ClientBuilder.newClient()
.target("http://localhost/whatever" +/my_url)

那我需要调用响应

Response resp = tgt.request(Some_Media_Type).post(Entity.entity(...))

假设我的媒体类型是 JSON。那么如何传入 inputClass1 和 inputClass2 的实例,它是实体吗?

【问题讨论】:

  • 你不能有两个这样的实体。一个 HTTP 请求应该只有一个实体主体。这是一成不变的。改不了。除非您使用 @FormParam 或 Muitipart 和 @FormDataParam,否则您的实体参数将始终限制为一个。

标签: java rest post endpoint


【解决方案1】:

你不能有两个这样的实体。
您可以做的是创建一个包含您需要的 2 个类的类:

Class ArgWrapper {
  private Arg1 arg1;
  private Arg2 arg2;
}

然后使用ArgWrapper作为参数。

【讨论】:

    猜你喜欢
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2021-11-21
    • 1970-01-01
    相关资源
    最近更新 更多