「Spring Boot 2.6」アノテーション@RestControllerでlistの戻り値を返す

2022年1月24日

環境
Windows10 64bit
Spring Boot 2.6.2
Spring Tool Suite 4
JDK 11

1.アノテーション@RestController
REST コントローラーに設定します。このアノテーションが設定されると、クラスが DI コンテナへの登録対象としてマークされます。
@Controller および @ResponseBody でアノテーションが付けられている便利なアノテーション。
このアノテーションを保持する型は、@RequestMapping メソッドがデフォルトで @ResponseBody セマンティクスを想定するコントローラーとして扱われます。
書式
@GetMapping(“/パス名")
public List<String> 関数名() {
処理コード
}

2.コントローラ側のコード

package com.example.demo;

import java.util.ArrayList;
import java.util.List;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ListTypeController {

      //戻り値String型
      @GetMapping("/liststr")
      public List<String> funA() {
            List<String> lst = new ArrayList<String>();
            lst.add("tokyo");
            lst.add("oosaka");
            lst.add("fukuoka");
            return lst;
      }
      
      //戻り値はint型
      @GetMapping("/listint")
      public List<Integer> funB() {
            List<Integer> intLst = new ArrayList<Integer>();
            intLst.add(202);
            intLst.add(303);
            intLst.add(404);
            return intLst;
      }
}

3.動作確認
3.1Webブラウザ画面で「http://127.0.0.1:8080/liststr」を入力すると、画面にString型listの内容を返します
[“tokyo","oosaka","fukuoka"]

3.2 Webブラウザ画面で「http://127.0.0.1:8080/listint」にアクセスすると、画面にInteger型リストの内容を返します
[202,303,404]

Spring Boot

Posted by arkgame