У меня есть необходимость, когда один api получает запрос на отправку данных формы и после некоторой обработки мне нужно перенаправить запрос на другой api.JAX-RS запрос прямой отправки
Мой первый АФИ:
@Path("/integrator/api")
public class IntegratorREST {
@Context private HttpServletRequest request;
@Context private HttpServletResponse response;
@Context private ServletContext _context;
@POST
@Path("/go")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Object forwardLink(@Context UriInfo info) throws URISyntaxException, ServletException, IOException {
(... my code ...)
// For simple CORS requests, the server only needs to add these 2 header parameters that allow access to any client.
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Credentials", "true");
RequestDispatcher rd = _context.getRequestDispatcher("/uploadfile/api/send");
rd.forward(request, response);
return null;
}
}
Второй АФИ:
@Path("/uploadfile/api")
public class UploadFileREST {
private String DIRECTORY =
"../../pentaho-solutions/system/uploadfile/";
@SuppressWarnings("unchecked")
@POST
@Path("/send")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces("application/json")
public Output uploadFile(
@Context UriInfo info,
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail) {
(... code to upload a file to server ...)
}
Итак, rd.forward() в первом апи выполняется, но ничего не произойдет во втором , Я имею в виду, что у меня есть точка останова в первой строке, но код не выполняется.
Кроме того, я не получаю сообщение об ошибке/ошибке в консоли.
Как отправить запрос на отправку другим конечным точкам?
Спасибо за любую помощь.
Kleyson Rios.
Можете ли вы дать образец кода? –
И как использовать параметры сообщения, переданные первому API? Потому что один из них - это файл для загрузки. –
Ссылка на эту ссылку для получения полного кода http://www.java-redefined.com/2014/04/rest-client-java-using-apache-http-client.html – user2246289