Skip to content

feat(api): エラー封筒の imsx_codeMinorFieldName を実フィールド名に (C11)#6

Merged
kentalow merged 2 commits into
mainfrom
feat/error-field-names
Jun 20, 2026
Merged

feat(api): エラー封筒の imsx_codeMinorFieldName を実フィールド名に (C11)#6
kentalow merged 2 commits into
mainfrom
feat/error-field-names

Conversation

@kentalow

Copy link
Copy Markdown
Member

概要

conformance backlog C11 を実装します。エラー封筒の imsx_codeMinorFieldName を、従来の固定値 "sourcedId" から問題のあるパラメータ名に変えます(クライアントが typo をすぐ特定できる)。

実装

  • errors.imsx_error_responsefield_name 引数(既定 "sourcedId")を追加。
  • QueryParamErrorfield_name を持たせ、parse_sortsort / orderByparse_filterfilterparse_fieldsfields を設定。
  • 各 list ルーターの limit / offset バリデーションエラーに field_name を付与(8ルーター)。
  • RequestValidationError ハンドラがエラーの loc から欠落/不正フィールド名を抽出(例: CFRubrics の必須 doc"doc")。
  • パス UUID 不正など、意味のあるフィールド名が無いケースは "sourcedId" を維持。

テスト

tests/integration/test_error_field_names.py(新規・8件): limit / offset / sort / orderBy / filter / fields / 必須 doc 欠落 → 各フィールド名、UUID エラー → sourcedId 維持。

全 665 テスト pass / ruff clean。

ドキュメント

  • api-spec.md: 「常に sourcedId」→「既定 sourcedId、意味があれば実パラメータ名」に更新(英/日)。
  • api-examples.md: CFRubrics の doc 欠落例を "doc" に更新。
  • case-v1p1-conformance-backlog.md: C11 を「すでに対応済み」へ。

残りは C12 / C8 を別 PR で実装予定です。

🤖 Generated with Claude Code

kentalow and others added 2 commits June 20, 2026 14:09
sort / orderBy / filter / fields / limit / offset のクエリパラメータエラー、
および request-validation エラーで、imsx_codeMinorFieldName に問題のある
パラメータ名を入れる(従来は全て既定の "sourcedId")。

- errors.imsx_error_response に field_name 引数(既定 "sourcedId")を追加
- QueryParamError に field_name を持たせ、parse_sort/parse_filter/parse_fields
  で sort/orderBy/filter/fields を設定
- 各 list ルーターの limit/offset エラーに field_name を付与
- RequestValidationError ハンドラがエラー loc から欠落/不正フィールド名を抽出
- tests/integration/test_error_field_names.py を追加
- api-spec / api-examples を更新、backlog C11 を「対応済み」へ

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XXFogp18twGiPFBAZcqJw2
# Conflicts:
#	docs/dev/case-v1p1-conformance-backlog.md
@kentalow kentalow merged commit 5086637 into main Jun 20, 2026
2 checks passed
@kentalow kentalow deleted the feat/error-field-names branch June 20, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant