Spring WebMVC

REST

Spring WebMVC: REST

Dependencies

<dependencies>
    ...
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>4.0.4</version>
    </dependency>
</dependencies>

Servlet Container Spring

Servlet container Spring

HTTP client

RestTemplate

public class RestApiClient {
    private static final String fooResourceUrl = "http://localhost:8080/api/foo";

    @Autowired
    private RestTemplate restTemplate;

    public getData() {
        HttpEntity<Foo> request = new HttpEntity<>(new Foo("bar"));
        Foo foo = restTemplate.postForObject(fooResourceUrl, request, Foo.class);
    }
}

WebClient

public class RestApiClient {
    private static final String fooResourceUrl = "http://localhost:8080/api/foo";

    @Autowired
    private RestTemplate restTemplate;

    public getData() {
        HttpEntity<Foo> request = new HttpEntity<>(new Foo("bar"));
        Foo foo = restTemplate.postForObject(fooResourceUrl, request, Foo.class);
    }
}

Exception Handling

Exception Handling

Exception Handling