kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

フロント側をFlutter(スマホ)Thymeleaf(PC)、バックエンド側SpringBootの自動作成@自動生成ツール作成中

16:50
①SpringBoot側PGMの自動作成Vb.net(FlutterSpringAutoCreate)ができた。PC・WEB側はうまく動いている。明日からは、スマホ画面Flutter側PGMの自動作成部分をやる予定。

①-1.ツール内固定PGM「flutter-spring-kaz01u_元ネタ削除後」フォルダ

★=<<\demo\WebSecurityConfig>>=======================
  ■src\main\java\com\kaz01u\demo\WebSecurityConfig.java 修正
    Pc用Flutter用に対応した。

★=<<\demo\auth\>>=============================
  ■src\main\java\com\kaz01u\demo\auth\SimpleLogoutSuccessHandler.java 新規追加
    ・ログアウト成功時のPc用Flutter用共通処理ハンドラ

  ■src\main\java\com\kaz01u\demo\auth\SimpleAuthenticationSuccessHandler.java 新規追加
    ・認証成功時のPc用Flutter用共通処理を実装したハンドラ

  ■src\main\java\com\kaz01u\demo\auth\SimpleAuthenticationFailureHandler.java 新規追加
    ・認証失敗時のPc用Flutter用共通処理を実装したハンドラ

  ■src\main\java\com\kaz01u\demo\auth\SimpleAuthenticationEntryPoint.java 新規追加
    ・認証のユーザーが認証の必要なAPIにアクセスしたときの処理。
     HTTPステータス403を戻す。
     補足:PC・WEB側は自動的に/error/403.htmlが表示される。

  ■src\main\java\com\kaz01u\demo\auth\SimpleAccessDeniedHandler.java 新規追加
    ・ユーザーは認証済みだが未認可のリソースへアクセスしたときの処理
     HTTPステータス403を返すだけの処理を実装。
     補足:PC・WEB側は自動的に/error/403.htmlが表示される。

★=<<\demo\controller\>>==========================
  ■src\main\java\com\kaz01u\demo\controller\CustomControllerAdviceAdminFlutter.java 新規追加
    すべてのコントローラー(Flutter用)に共通する例外処理クラス(ControllerAdviceクラス)を追加

  ■src\main\java\com\kaz01u\demo\controller\CustomControllerAdviceAdminPc.java 新規追加
    ・CustomControllerAdvice.javaを削除してこれにした。
    ・すべてのコントローラー(PC・WEB用)に共通する例外処理クラス(ControllerAdviceクラス)を追加

  ■src\main\java\com\kaz01u\demo\controller\admin フォルダ削除

  ■src\main\java\com\kaz01u\demo\controller\adminpc 新規フォルダ追加

  ■src\main\java\com\kaz01u\demo\controller\adminpc\UserPcController.java 新規追加
    ・src\main\java\com\kaz01u\demo\controller\admin\UserController.javaを削除してこれにした。
    ・Pc用ユーザー情報管理のコントローラーを追加
     削除したUserController.javaのCSVアップデート、CSVダウンロードはそのままにして、それ以外を
     UserCommController.javaのメソッドを使用するように修正した。

  ■src\main\java\com\kaz01u\demo\controller\admincomm 新規フォルダ追加

  ■src\main\java\com\kaz01u\demo\controller\admincomm\UserCommController.java 新規追加
    ・ユーザー情報管理の共通コントローラーを追加
     削除したUserController.javaのCSVアップデート、CSVダウンロード以外を
     Flutter用Pc用共通で使用できるメソッドとした。

  ■src\main\java\com\kaz01u\demo\controller\adminflutter 新規フォルダ追加

  ■src\main\java\com\kaz01u\demo\controller\adminflutter\UserFlutterController.java 新規追加
    ・Flutter用ユーザー情報管理のコントローラーを追加
     UserCommController.javaのメソッドを使用するようにした。
     当ControllerはCSVアップデート、CSVダウンロードを使用しない。
     (今回のVerでは、スマホでは、CSVアップデート、CSVダウンロードを使用しないので)

★=<<\demo\fform\>>===========================
  ■src\main\java\com\kaz01u\demo\fform 新規フォルダ追加

  ■src\main\java\com\kaz01u\demo\fform\EleForm.java 新規追加
    DBエレメントをFlutter側に渡すためのFormを追加

  ■src\main\java\com\kaz01u\demo\fform\FormComm.java 新規追加
    共通Form(Flutter用)を追加

  ■src\main\java\com\kaz01u\demo\fform\SrchOrderFForm.java 新規追加
    情報検索昇順降順Form(Flutter用)を追加

  ■src\main\java\com\kaz01u\demo\fform\UserFForm.java 新規追加
    ユーザー情報Form(Flutter用)を追加

  ■src\main\java\com\kaz01u\demo\fform\UserSrchFForm.java 新規追加
    ユーザー情報検索Form(Flutter用)を追加

★=<<\demo\response\>>=========================
  ■src\main\java\com\kaz01u\demo\response 新規フォルダ追加

  ■src\main\java\com\kaz01u\demo\response\ResData.java 新規追加
    getResDataMapメソッド(Flutter向けデータマップを返却する)
    getAllErrorsメソッド(Flutter向け項目エラーマップを返却する)

★=<<\demo\utils\>>==========================
  ■src\main\java\com\kaz01u\demo\utils\Functions.java 修正
    「リクエストのFlutter、PC・WEBチェック。」(isFromFlutter)メソッドを追加した

★=<<\resources\application.properties>>===============
  ■src\main\resources\application.properties 修正
    <<修正前>>
    spring.servlet.multipart.max-file-size=1MB
    spring.servlet.multipart.max-request-size=10MB
    <<修正後>>
    spring.servlet.multipart.max-file-size=10MB
    spring.servlet.multipart.max-request-size=50MB

①-2.SpringBoot側PGMを自動作成するための、ひな形

★=<<\hinagata\java\controller\>>=====================
  ■\hinagata\java\controller\admin フォルダ削除

  ■\hinagata\java\controller\admincomm 新規フォルダ追加
  
  ■\hinagata\java\controller\admincomm\01_00_DbElementsCommController.txt 修正
  ・PC・WEB用Flutter用共通のクラス

  ■\hinagata\java\controller\admincomm\02_00_TblCommController.txt 修正
  ・PC・WEB用Flutter用共通のクラス
  ・一括登録、リスト一覧更新処理、CSVアップデート、CSVダウンロードのメソッドは持たない。

  ■\hinagata\java\controller\admincomm\ private→protectedなどの微修正
  ・02_03_AutowiredSeq部品.txt
  ・02_04_AutowiredDbElements部品.txt
  ・02_16_checkAndEditLrgmidsmlForMethod部品.txt
  ・02_17_00_checkAndEditLrgmidsmlForMethod部品.txt
  ・02_19_02_PrmKeyItmArg部品.txt
  ・02_19_03_PrmKeyItmVal部品.txt
  ・02_19_04_PrmKeyItmValForFlutter部品.txt
  ・02_34_checkPkForMethod部品.txt

  ■\hinagata\java\controller\adminflutter 新規フォルダ追加

  ■\hinagata\java\controller\adminflutter\01_00_DbElementsFlutterController.txt 新規追加
  DbElementsCommController.javaを継承して、DbElementsFlutterController.javaを作成する。

  ■\hinagata\java\controller\adminflutter\02_00_TblFlutterController.txt 新規追加
  ・各情報から、XxxCommController.javaを継承して、XxxFlutterController.javaを作成する。
  ・スマホでは、一括登録、リスト一覧更新処理、CSVアップデート、CSVダウンロードをしない。
  ・スマホでできるのは、登録処理、詳細表示、更新処理、リスト検索条件表示処理、リスト一覧表示処理、削除処理になる。

  ■\hinagata\java\controller\adminpc 新規フォルダ追加

  ■\hinagata\java\controller\adminpc\01_00_DbElementsPcController.txt 新規追加
  DbElementsCommController.javaを継承して、DbElementsPcController.javaを作成する

  ■\hinagata\java\controller\adminpc\02_00_TblPcController.txt 新規追加
  ・各情報から、XxxCommController.javaを継承して、XxxPcController.javaを作成する。
  ・PC・WEBでは、さらに、一括登録、リスト一覧更新処理、CSVアップデート、CSVダウンロードのメソッドを持つ。

★=<<\hinagata\java\fform\>>=====================
  ■\hinagata\java\fform 新規フォルダ追加

  ■\hinagata\java\fform\01_00_TblFForm.txt 新規追加
  XxxFormクラスと、FormCommクラスを含有するクラスとなる。

  ■\hinagata\java\fform\03_00_TblSrchFForm.txt 新規追加
  XxxSrchFormクラス、SrchOrderFormクラス、FormCommクラスを含有するクラスとなる。

★=<<\hinagata\java\entity\>>=====================
  ■\hinagata\java\entity\01_00_Tbl.txt 親子テーブルをやめたことによる微修正

①-3.SpringBoot側PGMの自動作成Vb.netの修正
 ・全体的に入れてある「親子関係テーブル」に関するロジックをコメントアウトした。
 (このツールでは親子関係を1画面登録するための、PGM自動作成はやらないので)
 ・やってみたらコメントアウトが大量にあって見づらいので、Vectorに載せる前に削除する予定。
 ・controller\admincomm、controller\adminflutter、controller\adminpcのPGMを自動作成するあたりを修正した。

■2022/06/15に、勉強した成果:『Flutter_JavaSpringプログラム自動作成◎自動生成ツール』をVectorに載せました。Zenn本も書きました。使ってみての感想や間違いの指定や、こうやったほうがいいとかの情報があればメールください。
Vector
www.vector.co.jp
・Zenn本(Flutter_JavaSpringプログラム自動作成)
zenn.dev