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

Posted

技术标签:

【中文标题】如何将数据从servlet发送到rest api【英文标题】:how to send data from servlet to rest api 【发布时间】:2019-08-26 01:30:33 【问题描述】:

我想将数据从我的 servlet 发送到 rest api。 它是如何完成的:

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);

一旦发送数据,如何在我的 rest api 中检索它

【问题讨论】:

只是想知道,从 Servlet 调用 HttpUrlConnection 是否有任何问题。如果您不想调用restTemplate,我可以理解。 【参考方案1】:

或者,您必须使用 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);

【讨论】:

【参考方案2】:

你想要实现的目标对我来说有点不清楚。

通过在让“PathofServet”处理请求之前将“MyId”写入响应,您将破坏响应中的 json 格式。

您是否有一个 servlet“PathofServlet”期望作为请求并作为响应发送的示例?您希望您的 servlet 响应什么?

【讨论】:

以上是关于如何将数据从servlet发送到rest api的主要内容,如果未能解决你的问题,请参考以下文章

将雪花数据发送到 REST API (POST) 的方法

如何将带有数据的http标头发送到rest Api codeigniter?

如何使用 Postman 表单数据将 POST 请求发送到 Spring Boot REST API?

将数据从 servlet 发送到 applet:我该如何实现?

使用 REST API 将图像从服务器发送到客户端

授权代码流,将代码从移动应用程序发送到 REST API