2017-05-22 4 views
1

もう一つのレストサービスを別のレストサービスにリダイレクトするコードを書いています。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を使用しています)。..私を助けてリダイレクトすることができませんでし

}

答えて

0

ていますPath

URI uri = new URI("/resource/error"); 
return Response.temporaryRedirect(uri).build(); 
+0

はい私はこの方法でもパスを与えましたが、動作しません。 – parul

0

return "redirect:/ secondUrl"; またはコールの2番目のURLにHttpclientを使用

+0

"redirect:/ secondUrl"とはどういう意味ですか? – parul

関連する問題