フロント側を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