如何将数据从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的主要内容,如果未能解决你的问题,请参考以下文章
如何将带有数据的http标头发送到rest Api codeigniter?
如何使用 Postman 表单数据将 POST 请求发送到 Spring Boot REST API?