gpt4 book ai didi

java - Jersey 2 : Consumes APPLICATION_FORM_URLENCODED and MULTIPART_FORM_DATA together

转载 作者:太空宇宙 更新时间:2023-11-04 10:44:12 25 4
gpt4 key购买 nike

我是第一次使用 Jersey。

我只是希望我的服务接受 APPLICATION_FORM_URLENCODEDMULTIPART_FORM_DATA post 表单,就像 Django 或 php 中的那样。

更好的是,我希望 APPLICATION_JSON 也能工作。

所以我在我的 UserResource 类中尝试了下面的代码:

@POST
@Consumes({MediaType.APPLICATION_FORM_URLENCODED, MediaType.APPLICATION_JSON, MediaType.MULTIPART_FORM_DATA})
@Produces(MediaType.APPLICATION_JSON)
public User createUser(
@FormDataParam("username") @FormParam("username") String username,
@FormDataParam("password") @FormParam("password") String password,
@FormDataParam("mobile") @FormParam("mobile") String mobile,
@FormDataParam("email") @FormParam("email") String email) {
User user = new User();
user.setUsername(username);
user.setMobile(mobile);
user.setEmail(email);
user.setPlainPassword(password);
userDao.save(user);
return user;
}

然后我成功使用x-www-url-form-urlencoded提交,但是当我使用multipart/formdata提交时,它下降了:

enter image description here

当我删除 @FormParam 注释时,它无法接受 x-www-url-form-urlencoded 提交,并显示:

enter image description here

<小时/>

这是我的问题:

1。有什么办法让他们一起工作吗?

2。是否有类似 @JsonParam 的 Param 类型接受 application/json 的请求表单类型?

最佳答案

请将 Consumer 用作 @Consumes({MediaType.MULTIPART_FORM_DATA})。这样端点就可以接受多部分对象和表单数据,如下所示

@FormDataParam("file") InputStream fileInputStream,
@FormDataParam("email") String email)

请从 postman 测试它,因为表单数据和文件应输入"file",电子邮件应输入“文本”

enter image description here

关于java - Jersey 2 : Consumes APPLICATION_FORM_URLENCODED and MULTIPART_FORM_DATA together,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48593543/

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