Spring Boot でThymeleafにJSONを返す

@Controllerクラスのメソッドに @ResponseBody をつけることで、オブジェクトを返却できるようになります。通常は@Controllerクラスから返却されるものはHTMLです。

今回の記事では汎用性の高いJSONを返却する方法をご紹介します。

書き方はこのようになります。

@Controller
public class TestController {

  @GetMapping("/test")
  @ResponseBody
  public SampleClass test() {

    return new SampleClass();
  }
}

戻り値に設定したSampleClassクラスはJava Beanにします。するとSpring BootがJSON形式に変換して返却してくれます。

@Controller と @ResponseBody を合わせたものとして、@RestController という便利なアノテーションがあります。@RestControllerはREST APIいわゆるWebAPIを作成するときに非常に便利です。当ブログでも@RestControllerの使い方を紹介しています。