kazpgmの日記

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

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

・MouseComputerのノートPCを192.168.1.13にアドレス固定、DELLのノートPCを192.168.1.8」アドレス固定にしたのは効果あったみたいで、今日は朝からDELLのノートPCにつないだスマホ実機から、MouseComputerのノートPChttp://192.168.1.13:8080/login」が動いた。この調子ならストレスがなくていい。

・昨日の夜から、今朝も、DELLのノートPCのキーボードがおかしい(押しても反応しなかったりする)ので、再起動した。ら、普通になった。(いつもはHDDからの立ち上げが遅すぎるのでレジュームで終わらせていた)これも不思議だ、キーボードが壊れたわけでもないのに。

・ユーザー登録でエラーの時Flutter画面の先頭にエラーメッセージを出した。ListViewで画面を作っているので先頭に移動させないとエラーメッセージが見えない。そこでScrollControllerを使って先頭に移動した。

・さらに、正常終了でもエラー終了でも、カーソルも先頭にしておきたく思った。ので、FocusNode使った。

こんな感じ。

class _UserRegisterState extends State<UserRegister> {
late ScrollController _scrollController;
late FocusNode _myFocusNode;
Widget build(BuildContext context) {
・・・
child : ListView(
controller:
_scrollController,
・・・
        child:Column(
children:<Widget>[TextFormField(
// フォームを含むウィジェットが作成された時点でフォーカスする。
autofocus: true,
focusNode: _myFocusNode,
・・・
         // 画面を先頭に戻す
_scrollController.animateTo(0,
duration: const Duration(milliseconds:600),
curve: Curves.easeInQuint);
@override
void initState() {

super.initState();
_scrollController= ScrollController();
_myFocusNode = FocusNode();
}
@override
void dispose() {
_scrollController.dispose();
// Clean up the focus node when the Form is disposed.
super.dispose();
}

・SpringBootの、すべてのコントローラーに共通する例外処理クラス(ControllerAdviceクラス)の戻り値をJSONにした。

こんな感じ。

/**
 * すべてのコントローラーに共通する例外処理クラス(ControllerAdviceクラス)
 * 共通例外(”システムに問題が発生しました”)を戻す。
 *
 */
@ControllerAdvice
//log出力用
@Slf4j
public class CustomControllerAdvice {
    @ResponseBody
    @ExceptionHandler
    public Map<String, Object> handleException(Throwable e) {
        log.error("System Error occurred.", e);
        e.printStackTrace();
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("errorMessage", "システムに問題が発生しました");
        map.put("mode", "SystemError");
        return map;

    }
}

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

Vector
www.vector.co.jp

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