kazpgmの日記

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

フロント側をFlutter、バックエンド側SpringBootの自動作成勉強中

フロント側Flutter、バックエンドSpringBoot作成中

現在

・SpringSecurityへのFlutterからのログイン成功

・ユーザー登録勉強中

 ユーザー画面で入力しバックエンドのDB登録できた。

 バックエンドからのエラーメッセージを画面に表示できた。

 ①SpringBootで「@PostMapping(params="mode=ins_do")」は動かなかったので、「@PostMapping("/members/admin/user/userA/ins_do")」にした。

 ・・・JSONデータを受け取るときparamsを使えなさそう。

 ②SpringBootで「userInsDo(@RequestBody @Validated(GroupOrder.class)  UserForm userForm,」のように@RequestBodyをつけないと、JsonデータをuserFormに入れてくれなかった。ので、に@RequestBodyをつけた。

 ③「userInsDo(@RequestBody @Validated(GroupOrder.class)  UserForm userForm,」にしたら、メッセージプロパティに書いてある”NotBlank={0}は必須入力です”を取得できないみたいで、メッセージが”must not be blank”になった。ので、メッセージプロパティに”javax.validation.constraints.NotBlank.message={0}は必須入力です”を登録した。そしたら、うまく"{0}は必須入力です"が取得できた。

 ・・・NotBlank、Email、Length、NotNull、Range、AssertFalse、Sizeも同様

 ④Json形式で戻すのにObjectMapper使っていたが、やめた。「public Map<String, Object> userInsDo(@RequestBody @Validated(GroupOrder.class)  UserForm userForm,」のようにして、「return resData.getResDataMap();」にしたら、勝手にJSONにしてくれる。

 ⑤Flutter向けエラーメッセージは「for (FieldError error : result.getFieldErrors()) {」、「map.add(error.getField(), error.getDefaultMessage());」で編集した。項目名と、エラーメッセージのマップ。

 ・・・気持ち的にはエラーメッセージの{0}も値が入っていてくれると思っていたのだけど。入っていないので自分で入れるようになるかと思う。

 ⑥Flutter側で、レスポンスBODYを受け取るのに、文字化けしたので、

String _resData = utf8.decode(response.body.runes.toList());

とした。

 ⑦Flutter側の、content-typeを「headers["content-type"]= "application/json; charset=UTF-8";」にした。application/json;のときcharset=UTF-8を書かないと文字化けするみたいだ。

■なんでだか、12:00頃勝手にMouseComputerのノートPCの192.168.1.22192.168.1.13に変わっていた。不思議だ。

■2022/06/15に、Flutter_JavaSpringプログラム自動作成◎自動生成ツールをVectorに載せました。Zenn本も書きました。使ってみての感想や間違いの指定や、こうやったほうがいいとかの情報があればメールください。

Vector
www.vector.co.jp

・Zenn本(Flutter_JavaSpringプログラム自動作成)
zenn.dev