REST APIの記事一覧
REST APIの設計、エラー処理、入力検証、認証、ページネーションなど、バックエンド実装で重要な論点をまとめた記事一覧です。
-
Spring Bootでリクエストパラメータを受け取る方法 - @RequestParam・@PathVariable・@RequestBody・@ModelAttributeの使い分け
Spring BootのControllerでクライアント入力を受け取る@RequestParam・@PathVariable・@RequestBody・@ModelAttributeの4アノテーションを、クエリ文字列・パス変数・JSONボディ・フォームという入力ソース別に使い分ける判断基準つきで解説。required/defaultValue、List複数値、型変換失敗時の400挙動まで実装例で紹介します。
-
Spring BootでExcelファイルを出力・読み込みする方法 - Apache POIで帳票・データ取込を実装
Spring BootとApache POIでExcel(xlsx)を出力・読み込みする実装ガイド。Workbook/Sheet/Cellの基本、REST APIでのダウンロード、SXSSFWorkbookによる大量データのメモリ対策、アップロードされたxlsxのパースまでをコード付きで解説します。
-
Spring BootのJackson設定でJSONシリアライズをカスタマイズする - 日付・null除外・snake_case対応ガイド
Spring BootのJacksonで『LocalDateTimeが配列で返る』『フロントがsnake_caseを要求』といった定番課題を解決。日付フォーマット、null除外、snake_case変換、@JsonView/Mixin/カスタムSerializerまでをコード例付きで解説するREST API向け実装ガイドです。
-
Spring BootのGlobalExceptionHandlerを本番運用向けに実装する
Spring BootのGlobalExceptionHandler(@RestControllerAdvice)を本番運用に耐える品質で実装する方法を解説します。スタックトレースのログ出力、MDCによるtraceID付与、ProblemDetailへのカスタムプロパティ拡張など、運用フェーズで必要な実装パターンを具体的なコード例とともに紹介します。
-
Spring BootのREST APIで冪等性(Idempotency-Key)を実装する方法 - 二重課金・ダブルクリック対策
決済APIの二重課金・ダブルクリックによる二重実行を防ぐ、Spring BootでのIdempotency-Keyヘッダー方式の実装を解説。OncePerRequestFilterとRedisを使った実装コード、並行リクエスト時のロック制御、TTL設計、本番運用の注意点まで実務目線で紹介します。
-
Spring SecurityのCSRF対策を正しく理解する - REST APIとWebアプリでの設定の違い
Spring SecurityでPOSTが403になる原因をCSRFの仕組みから解決。REST APIで`csrf().disable()`が正しい理由、Thymeleafフォームで必須となる設定、`CookieCsrfTokenRepository.withHttpOnlyFalse()`によるAJAX対応まで、Spring Security 6のLambda DSL実装例で整理します。
-
Spring Boot 3.xのProblem Details(RFC 9457)でエラーレスポンスを標準化する方法
Spring Boot 3.xで標準サポートされたProblem Details(RFC 9457)でエラーレスポンスを統一する方法を解説。spring.mvc.problemdetails.enabled設定、ProblemDetailクラスとErrorResponseの使い方、@ControllerAdviceとResponseEntityExceptionHandlerの統合、Spring Boot 2.xからの移行手順、Spring Securityやバリデーションエラーへの適用までコード例つきで紹介します。
-
Spring BootでGraphQLを使う方法 - Spring for GraphQLの基本とREST APIとの使い分け
Spring Boot 3.xのSpring for GraphQLを使い、スキーマ定義からQuery・MutationResolver実装、DataLoaderによるN+1対処、Spring Securityとの統合までを解説。REST APIとの比較で採用判断基準も明確にします。
-
Spring Boot REST APIのバージョニング戦略 - URLパス・ヘッダー・Content-Typeの使い分け
Spring BootでREST APIをバージョニングする3つの方式(URIパス・カスタムヘッダー・Acceptヘッダー)を実装コード付きで比較。自チームのAPI特性に合った方式を選ぶための判断基準とSwagger UI統合例も解説します。
-
Spring Bootで多言語対応(i18n)を実装する方法 - MessageSourceとLocaleResolverの使い方
Spring BootのREST APIで多言語化(i18n)を実現する実装ガイド。Accept-Languageヘッダーによる言語切り替え、messages.propertiesのロケールフォールバック、MessageSourceとAcceptHeaderLocaleResolverの設定、@Validバリデーションエラーメッセージのローカライズ、@RestControllerAdviceでの多言語エラーレスポンスまで一気通貫で解説します。
-
Spring BootでREST APIのCRUDを実装する - Controller・Service・Repositoryの基本構成
Spring BootでREST APIのCRUD(作成・取得・更新・削除)を実装する手順を、Controller・Service・Repositoryの3層構成でステップバイステップ解説。GET/POST/PUT/DELETEの4エンドポイントをコピペで動かし、curlでの動作確認まで一気通貫でカバーします。
-
Spring BootでCORSを設定する方法 - @CrossOriginとWebMvcConfigurerの使い分け
React/VueなどのフロントエンドからSpring Boot REST APIを呼び出す際のCORSエラーを解決する実践ガイド。@CrossOrigin・WebMvcConfigurer・SecurityFilterChainの3パターンの使い分けと、Spring Security導入時の落とし穴まで解説します。
-
Spring BootでOpenAPI(Swagger UI)を使ってREST APIドキュメントを自動生成する方法
springdoc-openapiの導入からアノテーションによるドキュメント強化、JWT認証付きエンドポイントへのBearerトークン設定、YAML出力まで実践的に解説します。
-
Spring BootでファイルアップロードとダウンロードをREST APIで実装する方法 - MultipartFileの使い方
MultipartFileを使ったファイルアップロード・保存・ダウンロードの実装をステップバイステップで解説。サイズ上限設定・MIMEタイプバリデーション・例外処理まで本番で使えるコード例を網羅します。
-
Spring BootのInterceptorとFilterの違いと使い分け - リクエスト前後処理の実装サンプル付き
Spring BootのFilterとHandlerInterceptor、結局どちらを使えばいいのか迷う方向けに使い分けの判断基準を最初に提示。実行タイミング・Spring DI管理・取得できる情報の違いを整理し、認証チェック・リクエストログ・CORS・例外処理などユースケース別に実装サンプル付きで解説します。
-
Spring BootでREST APIを呼び出す方法 - RestTemplateとWebClientの使い分け
Spring Bootで外部REST APIを呼び出す2つの主要手段、RestTemplateとWebClientの基本的な使い方から使い分け基準、タイムアウト設定、エラーハンドリングまで実践的に解説します。
-
Spring Security + JWTでステートレス認証を実装する方法
Spring Boot REST APIにJWT認証をゼロから組み込む実践ガイド。トークン生成・検証・JwtAuthenticationFilterの実装からSecurityFilterChain設定・動作確認まで、コードを中心にステップバイステップで解説します。
-
Spring BootのREST APIでページネーションを実装する方法 - PageableとPageの使い方
Spring Data JPAのPageableとPageを使ったREST APIのページネーション実装を段階的に解説。クエリパラメータでのページ指定、ソート条件、カスタムレスポンス形式、エラーハンドリングまで実践的なコード例で説明します。
-
Spring BootのREST APIで統一的なエラーレスポンスを返す方法 - @ControllerAdviceと@ExceptionHandlerの使い方(@RestControllerAdvice / ResponseEntityExceptionHandler対応)
Controllerごとにエラーレスポンスがバラバラで困っていませんか?Spring BootのREST APIで@ControllerAdvice・@RestControllerAdvice・@ExceptionHandlerを使い、バリデーションエラー・業務エラー・システムエラーを統一JSONで返す実装を解説。ResponseEntityExceptionHandlerを継承してSpring MVC標準例外も統一フォーマット化する設計パターンとコード例を紹介します。