gpt4 book ai didi

java - 外部服务的创建 API。发送二进制数据

转载 作者:行者123 更新时间:2023-12-02 03:23:58 26 4
gpt4 key购买 nike

外部服务不是我的,它是“Freshdesk”。

我设法使用 Java-ws-rs 创建一个 Java-API,以便能够调用其 WS 来创建“票证”。

这是我的界面:

@Path("/api/v2/")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public interface FreshdeskService {

@POST
@Path("tickets")
TicketResponse create(TicketRequest ticketRequests);

}

这是我的对象(我删除了很多字段,因为这里不需要):

public class TicketRequest {
private String name;
private Long requester_id;
private String email;
}

一切都很好,可以创建票证。我的问题是当我尝试向此票证添加附件时。这是文档:http://developers.freshdesk.com/api/#create_ticket

curl命令是:

curl -v -u user@yourcompany.com:test -F "attachments[]=@/path/to/attachment1.ext" -F "attachments[]=@/path/to/attachment2.ext" -F "email=example@example.com" -F "subject=Ticket Title" -F "description=this is a sample ticket" -X POST 'https://domain.freshdesk.com/api/v2/tickets'

正如您所看到的,他们将数据转换为 -F 的形式。但我不知道如何使用我的 API 来做到这一点。我可以添加List<File>在我的TicketRequest对象,但它不起作用。有什么帮助吗?

最佳答案

Freshdesk 文档说明了有关创建带有附件的票证的以下内容:

This API request must have its content-type set to multipart/form-data.

因此,您将无法使用 JSON 创建带有附件的票证。

<小时/>

根据您使用的 JAX-RS 实现,有不同的方法来发送/接收文件。

如果您使用 Jersey 2.x,则需要添加多部分依赖项并注册多部分功能才能处理多部分请求。检查this answer有关如何执行此操作的更多详细信息。您可以使用FormDataMultiPart从您的客户端上传文件。

关于java - 外部服务的创建 API。发送二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39225664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com