Spring Boot API方式


この投稿は、インフラストラクチャのキム・ヨンハン講師の「Spring入門-コードで学ぶSpringBoot、WebMVC、DBアクセス技術」講座で個人学習のために作成されたものです。


静的な内容に加えて、スプリングの動作方法は次のとおりです.

htmlをmvcモードで表示


API(html X)の使用方法


2つの方法があります.
以前は静的コンテンツとmvcモードを学習していましたが、api方式について説明します.
まずHelloControllerに追加します.
 @GetMapping("hello-string")
    @ResponseBody
    public String helloString(@RequestParam(value = "name")String name) {
        return "hello"+name;
    }
ここで、@ResponseBodyは、http通信プロトコルのbody部分にデータを直接入れることを宣言する.
したがって、nameがstringの場合、戻り値はhello stringです.

では、従来のテンプレートエンジンとはどのような違いがあるのでしょうか.
api方式では、リターンビュー(html)を必要とせず、本物のデータ「hello string」だけを返します.
-

上図は、api방식を使用してページソースを表示した場合、下図はmvc템플릿 방식を使用した場合のページソースです.
次に、文字列以外のデータを返す場合を見てみましょう.Helloという名前のオブジェクトを作成し、名前を付けて返します.
@GetMapping("hello-api")
    @ResponseBody
    public Hello helloApi (@RequestParam("name") String name) {
        Hello hello = new Hello();
        hello.setName(name);
        return hello;
    }


    static class Hello { //hello객체
        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        private String name;

    }


オブジェクトを返すと、次のようにjson(key:value)が返されます.

ResponseBodyの動作原理

  • Webブラウザリクエストlocalhost:8080/hello-api
  • Tomcat組み込みサーバはSpring
  • に通知します.
  • 2@RespopnseBodyの説明が添付されているため、HttpMessageConverterは対応するデータ(文字列でもオブジェクトでも)をデータ型に変換し、http本文に貼り付けて応答する.