SpringBootをお使いで、spring-boot-starter-webも使っているならば、
Controllerにて@RestController
を指定し、それぞれの公開メソッドでは任意のクラスをそのまま返せます。
仕組みとしては、@RestContollerで指定したControllerからの戻り値は、デフォルトでは jackson を自動的にJSONへ変換しようと試みます。
https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-jackson
java
1import java.util.Arrays;
2import java.util.List;
3
4import org.springframework.web.bind.annotation.GetMapping;
5import org.springframework.web.bind.annotation.RequestMapping;
6import org.springframework.web.bind.annotation.RestController;
7
8import lombok.Builder;
9import lombok.Getter;
10
11@RestController
12@RequestMapping("/rest")
13public class RestSampleController {
14
15 @GetMapping("")
16 public SampleModel getCart() {
17 SampleModel sampleModel = SampleModel.builder().itemList(
18 Arrays.asList("商品A", "商品B")
19 ).totalCost(3000).build();
20
21 return sampleModel;
22 }
23
24
25 @Builder @Getter
26 public static class SampleModel {
27 private List<String> itemList;
28
29 private Integer totalCost;
30 }
31}
出力結果:
http://localhost:8080/rest
json
1{
2 itemList: [
3 "商品A",
4 "商品B"
5 ],
6 totalCost: 3000
7}