My application.properties:
server.port=8080
server.servlet.context-path=/api
Controller:
@RestController
@RequestMapping("/posts")
public class PostController {
@GetMapping({ "/v1.0" })
public ResponseEntity<List<Post>> getPosts(@RequestParam Optional<String> maxId) {
List<Post> posts = Arrays.asList(
new Post(new ObjectId().toString(), "Test status 1", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 2", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 3", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 4", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 5", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 6", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 7", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 8", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 9", LocalDateTime.now()),
new Post(new ObjectId().toString(), "Test status 10", LocalDateTime.now())
);
return ResponseEntity.ok(posts);
}
}
This uri gives me a result in Postman:
localhost:8080/posts/v1.0
Whereas this one does not:
localhost:8080/api/posts/v1.0
Doesn't make any sense.
Version:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
</parent>
Note: application.properties gets properly read, I can change the port number at will.