Rest APIをJavaとSpring Bootで開発・設計練習!!|バックエンドエンジニア向けまとめ記事

はじめに

バックエンドエンジニアを目指している方、

目指すわけではないがバックエンドエンジニアの仕事をさせられることになった方、

Rest APIでHello Worldの次のステップに進みたい方

などなどに向けて現場を意識したバックエンド開発練習まとめ記事を作りました。

 

今後も思いつくことがあれば随時アップデートしていきます。

 

 

バックエンド開発環境構築|IntelliJ、jOOQ、Flyway、Keycloak、PostgreSQLなどなど

こちらのまとめ記事を参考に

まずは環境構築をしてみてください!!

バックエンド開発環境構築手順まとめ!!IntelliJ IDEAセットアップ〜FlywayでpostgreSQLにテストデータ投入などなど

 

ローカル環境にdockerを入れてDB、認証認可サーバを立てたり、

Flywayを利用してローカルDBにテストデータをサクッと用意したり、

IntelliJ IDEAでSpring Bootでアプリケーション開発できるように環境を整えたり

などなどします。

 

ただ、Hello Worldして終わりとならず、

現場で本物のAPIを作ることを想定した環境セットアップとなっています。

 

 

Spring BootとJavaでRest APIを作って動かしてみる|jOOQを使ったDB連携まで

こちらの記事を元に、

GET、POSTのRest APIを作って実際に動かしてみてください!!

Spring BootでJavaでRest APIを作ってGETして動かしてみる|Spring Boot入門!! Spring BootでJavaでRest APIを作ってPOSTして動かしてみる|Spring Boot入門!!

 

jOOQ(ORマッパー)を利用してDBからデータを取得したり、

DBにデータを記録するところまでをAPIのサンプルでは実施しています。

 

 

Spring SecurityとKeycloakでAPIを保護する!!

APIを誰でも認証もせずに使わせるのはダメなので、、、

 

認証済みユーザにはトークンを発行し、

そのトークンの有効性をAPIで検証して、

有効ならAPIを利用させるという制御を入れる必要があります。

 

こちらの記事を参考にAPIを保護してみてください。

Keycloakで認証認可!!|APIの保護〜SPAのログイン機能、OIDC、 OAuthなど解説まとめ記事

 

KeycloakでSpring Bootで作成したRestAPIを保護、

SPAにKeycloakのSSO機能でログイン機能を追加、

OIDCやOAuth2.0の違い解説などなどをまとめたまとめ記事です。

 

 

APIの設計を練習する!!|複雑なドメインを想定した設計

とりあえずAPIの開発できるようにはなったら、

いかにビジネスのスピードや変化、成長に柔軟についていけるように設計するか??

を意識できるとさらにいいです。

 

とりあえず作って納品して終わり。

ではなく、

最近は品質を担保しつつ柔軟にビジネスの変化に対応できる設計ができなければなりません。

 

自分もまだまだ勉強中ですが、

今まで読んだ本、参加した勉強会、作ったサンプルコード

についてのまとめ記事がこれらです。

ドメイン駆動設計の練習!!モデリング〜サンプルプログラム・テストコード作成(まとめ記事) 現場で役立つシステム設計の原則を読んでみて(まとめ記事)|気付きと現場で取り入れたいことについて 現場から学ぶモデル駆動設計勉強会のまとめ記事

 

 

Spring Bootで開発したAPIの保守開発を体験する!!

既存のレガシーシステムを

 

当時の設計思想を妄想しつつ

リファクタリングしつつ

テストコード書きつつ

設計を見直しつつ・・・

 

新規でシステム開発を自由にやるより

遥かにスキルが求められるのが保守開発です。

 

また、現場では新規開発以上に保守開発をさせられることが多いです。

 

 

すみません・・・

これは今いいサンプルを考えて作っている最中ですが、

ある程度複雑なお題を用意する予定です。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください