简体   繁体   English

如何将数据从servlet发送到rest api

[英]how to send data from servlet to rest api

I want to send data from my servlet to a rest api . 我想将数据从我的servlet发送到rest api。 Is it how it's done : 它是如何完成的:

protected void doPost(
      HttpServletRequest  request
    , HttpServletResponse response
) throws ServletException, IOException {

    String Id= "MyId";

    response.setContentType("application/json");
    response.getWriter().write(Id);
    getServletContext()
        .getRequestDispatcher("<PathofAPI>")
        .forward(request, response);
}

And once the data is send how to retreive it in my rest api 一旦数据被发送,如何在我的休息api中检索它

Alternatively you must create POJO class for you Id parameter with getters and setters: 或者,您必须为具有getter和setter的Id参数创建POJO类:

String createRequestUrl="YOUR_LINK WHERE_YOU GET answer FROM";
RestTemplate template=new RestTemplate();
your_POJO_object.setYour_Pojo_Object(Id);
ObjectMapper objectMapper = new ObjectMapper();
MultiValueMap<String, String> orderRequestHeaders=new 
LinkedMultiValueMap<String,String>();
orderRequestHeaders.add("Content-Type", "application/json");
orderRequestHeaders.add("Accept", "application/json");
String orderCreateRequest=objectMapper.writeValueAsString(YOUR POJO object.class);
HttpEntity<String> orderRequest=new HttpEntity<String>(orderCreateRequest, orderRequestHeaders);
String response=template.postForObject(createRequestUrl, orderRequest, String.class);

What you want to acheive is a bit unclear to me. 你想要实现的目标对我来说有点不清楚。

By writing "MyId" to the response before letting "PathofServet" process the request, you're breaking the json format in the response. 通过在让“PathofServet”处理请求之前将“MyId”写入响应,您将在响应中断开json格式。

Have you an exemple of what the servlet "PathofServlet", expects as request and send as response ? 你有一个servlet“PathofServlet”的例子,期望作为请求并作为响应发送吗? And what you would like your servlet to response ? 您希望您的servlet做出什么回应?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM