我有一个泽西 REST API。我希望能够使用参数向服务器发送 JSON 发布请求
{ name:"abc", description:"test"} .
除了这些参数,我还想通过我的发布请求发送一个文件。我不确定如何实现以下目标:
- 在客户端的单个 JSON 对象中发送文件和其他参数。
- 在服务器端接收它们。
我读过MULTIPART_FORM_DATA
可以用于此。需要帮助来确定如何使用它。
我的服务器代码是
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response create(JSONObject input) {
ObjectMapper mapper = new ObjectMapper();
Simulation config = mapper
.readValue(input.toString(), Simulation.class);
if (!CreateSimulation.isVaild(config))
{
ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
builder.entity("Bad Request: Wrong Parameters");
Response response = builder.build();
throw new WebApplicationException(response);
}
int id = CreateSimulation.create(config);
JSONObject output = new JSONObject();
output.put("simulation-id", id + "");
return Response.ok(output.toString(), MediaType.APPLICATION_JSON).build();
}