もう一つのレストサービスを別のレストサービスにリダイレクトするコードを書いています。SubmitId()メソッドで、別のレストサービス(getLicense()とgetError())をリダイレクトしています。あなただけのコントローラクラスから始まるURIを与える完全なパス/DAMLicenseTool/damlicense/resource/error
を与える必要はありません残りのサービスをポストからリダイレクトする方法
@Path("/resource")
public class DAMLicenseResource {
@POST
@Path("/submittree")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN})
@Produces({ MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN})
public Response SubmitId(ArrayList<String> selectedIds) throws JAXBException, IOException, URISyntaxException{
DAMLicenseService damLicenseService = new DAMLicenseService();
DAMLicenseOutput damLicenseOutput = damLicenseService.dupSubmittedId(selectedIds);
if(damLicenseOutput.isError()){
java.net.URI location1 = new java.net.URI("/DAMLicenseTool/damlicense/resource/error");
return Response.temporaryRedirect(location1).build();
}
else{
java.net.URI location1 = new java.net.URI("/DAMLicenseTool/damlicense/resource/download");
return Response.temporaryRedirect(location1).build();
}
}
@POST
@Path("/download")
@Produces("text/plain")
public Response getLicense(){
System.out.println("response api");
File file = new File("license.txt");
//write to this file
try {
System.out.println("response api");
FileWriter fileWriter = new FileWriter(file);
fileWriter.write("license");
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
ResponseBuilder response = Response.ok((Object) file);
//System.out.println("response api");
response.header("Content-Disposition",
"attachment; filename=\"license.txt\"");
return response.build();
}
@POST
@Path("/error")
@Produces("text/plain")
public Response getErrorMsg(){
System.out.println("error");
return Response.status(200).entity("failed").build();
}
it.Pleaseは(私はJAXRSを使用しています)。..私を助けてリダイレクトすることができませんでし
}
はい私はこの方法でもパスを与えましたが、動作しません。 – parul