gpt4 book ai didi

java - 可以使用 JSON 和多部分表单的 REST 服务

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:28:51 27 4
gpt4 key购买 nike

我需要在 Spring MVC 中创建一个可以处理 JSON 和多部分表单请求的方法。

这是我方法的签名:

@RequestMapping(value = { "/upload_image" }, method = RequestMethod.POST)
public @ResponseBody void uploadImage(final ImageDTO image)

ImageDTO 类如下所示:

public class ImageDTO {
private String imageUrl;
private Long imageId;
private MultipartFile image;

public String getImageUrl() {
return imageUrl;
}

public void setImageUrl(final String url) {
this.imageUrl = url;
}

public Long getImageId() {
return imageId;
}

public void setImageId(final Long imageId) {
this.imageId = imageId;
}

public MultipartFile getImage() {
return image;
}

public void setImage(MultipartFile image) {
this.image = image;
}
}

所以场景是我需要支持两种场景:1. Form上传图片,Content-Type为multipart-form(所有DTO成员不为null)2. 使用 JSON 上传图片,仅使用 imageUrl。在这种情况下,请求正文如下所示:

{
"imageId":"1236",
"imageUrl":"http://some.image.url",
"image":null
}

当前的实现可以很好地处理多部分请求,但是在发送 JSON 时,ImageDTO 对象的所有成员都包含 NULL。

是否可以让同一个方法处理两种内容类型?

谢谢。

最佳答案

要接收 JSON,您需要使用 @RequestBody 标记 ImageDTO 参数

@RequestMapping(value = { "/upload_image" }, method = RequestMethod.POST)
public @ResponseBody void uploadImage(final @RequestBody ImageDTO image)

关于java - 可以使用 JSON 和多部分表单的 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28062986/

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