public class NewShipmentDto implements Serializable {
private String description;
private Long senderId;
private Long receiverId;
private byte[] packageImage;
private CommissionPaidBy commissionPaidBy;
private Long senderPaymentMethod;
private LocationDto senderLocation;
private LocationDto receiverLocation;
// + constructors and gets/sets
}
{
"description":"Libros",
"senderId":1,
"receiverId":1,
"commissionPaidBy":"BOTH",
"senderPaymentMethod":1,
"senderLocation":
{
"latitud":100,
"longitud":100
},
"receiverLocation":
{
"latitud":100,
"longitud":100
}
}
"receiverLocation":
{
"latitud":100,
"longitud":100
}
这是我的POST方法,我还没有添加读取文件的逻辑:
@POST
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public Response addShipment(String shipment) throws EnviosYaException {
Gson gson = new Gson();
NewShipmentDto newShipmentDto = gson.fromJson(shipment, NewShipmentDto.class);
NewShipmentResponseDto response = shipmentServices.addShipment(newShipmentDto);
return Response.ok(gson.toJson(response)).build();
}
如果有必要,我可以更改json的结构,以避免出现嵌套的json,但我想先知道这是否可行。谢谢
看起来您将JAX-RS用于REST API。对于您的用例,Multipart/Format-DataContent-Type更合适。请看一下这个JAX-RS问题。
或
如果希望保持JSON结构不变,可以将base64编码的数据存储在image字段的字符串中。模型看起来像。
public class NewShipmentDto implements Serializable {
private String description;
private Long senderId;
private Long receiverId;
private String encodedPackageImage;
private CommissionPaidBy commissionPaidBy;
private Long senderPaymentMethod;
private LocationDto senderLocation;
private LocationDto receiverLocation;
// + constructors and gets/sets
}
当我尝试将带有postman的文件发送到我的Laravel api时,结果总是返回“NULL” 我的控制器如下所示: 和我的路线文件: 但是当我试图在邮递员中发送图像时,我得到的结果是“NULL” 我的邮递员配置是: http://app.dev/test(职位) 内容-类型-多部分/表单-数据 表单数据 图像-test.jpg 我错过什么了吗? 我已经检查了php。这样我就有足够的上传空间了 我
2FE552B7-53B1-4E4A-AFFF-3AEF8FE9D05B-----WebKitFormBoundaryLH8FJWGYEEVTCJMA内容-配置:表单-数据;name=“sample test file.pdf”;filename=“sample test file.pdf”content-type:application/pdf
我正试图上传邮递员表单数据的图像。我无法得到输入 请帮忙提前感谢。
我和邮递员一起看了用cookie发送请求的手册: 由于打包的应用程序运行在与浏览器分开的沙箱中,因此无法访问浏览器内部设置的cookie。使用拦截器扩展也可以克服这个限制。Postman通过拦截器路由所有请求,然后拦截器使用浏览器上下文发送请求。浏览器内部设置的Cookie将自动附加到您的请求。阅读关于拦截器的博文原文。 一旦拦截器启用,您也可以从邮递员发送cookie。只需设置“cookie”头
我正在使用ASP。NET Web API:http://xyzdomain.com:16845/api/returns/returns 如何使用PostmanChrome扩展向终结点发送POST请求,给定是一个集合:
有人能帮助我如何使用以下参数发送POST请求吗: 我试着在《邮递员的身体》中发送一个带有以下参数的: 然而,在发送上述请求时,我得到的位置字符串为null。