Spring MVC连接2种不同的Web应用程序

时间:2019-04-03 22:56:11

标签: java spring spring-mvc

我有一个关于Spring MVC的问题,而我关于Spring MVC的问题是如何连接两个Web应用程序,例如,在第一个Web应用程序中,我以自己的名字编写表单,而我必须发送该信息并在另一个中显示网络应用程序。

2 个答案:

答案 0 :(得分:0)

mi推荐参加课程 https://dzone.com/articles/top-5-courses-to-learn-spring-boot-in-2019

实际上,使用Spring Boot来学习Spring很容易,请查看Spring Boot,这是您遇到的解决方案。

答案 1 :(得分:0)

您可以在Spring MVC中轻松地做到这一点,我将向您介绍一种简单的方法。

  1. 首先,从表单中获取值并将其更改为JSON格式。
  2. 然后将其以JSON格式发送到另一个应用程序。
  3. 在其他Web应用程序中,获取并显示JSON文件。像这样

下面是一些示例,您可以尝试自己的

在控制器中获取JSON值

//You can use @RestController or @ResponseBody to send a response in JSON format 

@PostMapping(value = "/test", consumes = MediaType.APPLICATION_JSON_VALUE)
public MOResponse receiveNotification(@RequestBody MO mo) {
    studentService.getStudent(mo);
    MOResponse moResponse = new MOResponse("S1000", "Success");
    return moResponse;
}

将POST请求发送到另一个API 此处,此请求以String格式发送,但您可以更改为JSON格式

public void sendMT() {
    RestTemplate restTemplate = new RestTemplate();
    ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
    final String uri = "http://localhost:7000/sms/send";
    try {
        String json = ow.writeValueAsString(mt);
        RequestEntity<String> requestEntity = RequestEntity.post(new URL(uri).toURI()).contentType(MediaType.APPLICATION_JSON).body(json);
        ResponseEntity<String> output = restTemplate.exchange(requestEntity, String.class);
        System.out.println(output);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

在上面的示例中,我已经使用

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>

请记住此示例,以便获得一个想法。您可以创建自己的好运