Spring BootとAWSによるWebサービス3


Spring BootとAWSによる個別Webサービス
https://github.com/HYEBPARK/springboot-webservice

3.4登録/変更/照会APIの作成


🔎 クエリー機能(Tomcatを実行)

  • ローカル環境への直接アクセス->H 2->Webコンソール

  • Webコンソールオプションの有効化
    // application.properties
    spring.h2.console.enabled = true
  • http://localhost:8080/h2-consoleでWebコンソールに接続
  • データ照会
  • 	# 현재 등록된 데이터 없음 
    	SELECT * FROM posts;
  • データ登録
  • 	# 데이터 등록
    	INSERT into posts(author, content, title) values
        	('author','content','title') 
  • APIリクエスト後のクエリ
  • 3.5 JPA Auditing

  • エンティティには、データの作成時間と変更時間が含まれます.
    =>後続メンテナンスに関する重要情報
  • dbの挿入と更新のたびに日付データを登録/変更するコードが重複しないように、=>JPAレビューを使用して自動的に時間をテーブルにマッピングします.
    // BaseTimeEntity.java 모든 Entity의 상위 클래스가 되어 생성/수정Date 자동으로 관리하는 역할 
    @Getter
    @MappedSuperclass
    @EntityListeners(AuditingEntityListener.class)
    public abastract class BaseTimeEntity{
    	
        @CreatedDate
        private LocalDateTime createdDate; // 필드
        
        @LastModifiedDate
        private LocalDateTime modifiedDate; //필드
        
     }
    Annotationfunction@MappedSuperclassJPAEntityがBaseTimeEntityクラスを継承する場合、フィールドもコラムとして扱われます[email protected] BaseTimeEntityクラスにはAuditing機能が含まれています.@CreateDateEntityを作成して割り当てた場合、時刻が自動保存に変更されると、時刻は自動保存@EntableJpaAuditingJPAレビューが有効になり、アプリケーションクラスに追加されます

    第四章。マススケッチを使用してスクリーンを設定する


    4.1サーバテンプレートエンジンとテスト


    📍 Template Engine



    =>Web開発におけるTemplate Engineは、指定したテンプレートフォームとデータを統合してHTMLドキュメント(Webドキュメント)を出力するソフトウェアです.

    -なぜTemplate Engineを使うの?

  • コードが簡潔になります.
  • 高可用性=>ページにTemplateを作成し、ここでデータを交換してレンダリングし、多くのページを表示できます.
  • メンテナンスが容易な
  • .
  • - Server Side Template Engine


    =>serverの上で働き、DBまたはAPIからインポートしたデータをTemplateに入れ、htmlを描画してクライアントに渡します.
    ex)JSP、Freemarker、Thympleaf、Groovy等

    - Client Side Template Engine


    =>サーバからデータを受信してTemplateの適切な場所に配置し、DOMオブジェクトを動的に描画するプロセスです.
    react、Squirrelly、Handlebars等
    *ドキュメントオブジェクトモデル:ドキュメントオブジェクトモデル
    =>xmlまたはhtmlドキュメントにアクセスするためのインタフェース
    =>ドキュメント内のすべての要素を定義し、各要素にアクセスする方法を指定します.

    📍 Mustache


    =>ほとんどの既存言語をサポートする最も単純なテンプレートエンジン
    =>javaのserver template engineとjsのclient template engineが使用できます.
    =>ファイルのパスのデフォルトはsrc/main/resource/templatesです.
    =>springfootが正式にサポートするテンプレートエンジン

    4.2ホームページの作成

  • 依存性
  • を追加
    /// plugin 설치 후 build.gradle 에 의존성 추가   
    implementation('org.springframework.boot:spring-boot-starter-mustache')
  • URLマッピング-コントローラ
  • /// IndexController 
    
    @Controller 
    public class IndexController{
        @GetMapping("/")
        public String index(){
        	return "index";
          }
    }
  • Mustache starterのため、コントローラが文字列を返すと、前のパスとファイル拡張子が
  • として自動的に指定されます.
    앞의 경로 : src/main/resource/templates
    뒤의 확장자 : .mustache
    => 즉 , 위의 코드에서는 "index"를 반환하므로, 
    src/main/resource/templates/index.mustache 로 전환된다. 

    💡 リファレンス

  • テンプレートエンジンとは:https://show-me-the-money.tistory.com/56
  • DOMとはhttps://wit.nts-corp.com/2019/02/14/5522