我正在使用java REST服务在Mongodb中使用 POST 方法存储数据,作为响应,它将返回一个 id ,它将用于检索数据。
我想在contentLocation
获取身份证,我该怎么办?
以下是我需要POST
contentLocation
方法
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail) throws FileNotFoundException, URISyntaxException {
filePath = SERVER_UPLOAD_LOCATION_FOLDER + fileDetail.getFileName();
// save the file to the server
Mongodb_storage location =new Mongodb_storage();
location.store_in_db(uploadedInputStream,
FilenameUtils.getExtension(filePath));
String output = "File saved to server location " + filePath;
return Response.status(200).contentLocation(new URI("/53c5ac66796029898a5197d4")).entity(output).build();//here I have used content location
}
答案 0 :(得分:0)
只需在响应标题中设置内容位置,如
response.addHeader("Content-Location", your_id);
答案 1 :(得分:0)
HTTP Content-Location
标头用于返回数据的备用位置。您可能需要的是在创建新资源时使用的Location
标头。
首先构建包含给定ID的URI,并用于检索创建的数据。您可以使用例如UriBuilder
类来构建这样的URI。
然后返回包含您的URI的Content-Location
标头的HTTP 200 OK响应
Response.ok().contentLocation(locationUri)).entity(entity).build();
或者返回带有Location
标头的HTTP 201 Created响应,其中包含URI
Response.created(locationUri).build();