feat: Add APIMethod asset type with request/response schemas#2337
feat: Add APIMethod asset type with request/response schemas#2337Tony-Atlan wants to merge 7 commits intomainfrom
Conversation
|
The only bit that should be direct-managed here is the |
|
Thanks for the feedback. Understood — the SDK types ( The models PR is up at https://github.com/atlanhq/models/pull/1933 with the For now, the loader code (
The |
Extend the loader to create structured assets from OpenAPI specs: - APIObject per component schema, with APIField children per property - APIMethod per HTTP operation (GET/POST/PUT/PATCH/DELETE) per path - Request/response blobs on APIMethod for display - Structured relationships to APIObject for field-level search - apiMethodResponseCodes map for status code → schema mapping - Nested $ref schemas handled via apiIsObjectReference on APIField All existing APISpec and APIPath behavior is preserved unchanged for backward compatibility. Depends on: APIMethod type in Java SDK (EPD-268, PRDLNCH-5559) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…PIObject Adds the APIMethod asset type to the Java SDK to support per-HTTP-method assets as children of APIPath. Includes request/response blob attributes, structured relationships to APIObject for field-level search, and back-references on APIPath and APIObject. New files: - IAPIMethod.java: interface with field constants and getters - APIMethod.java: full asset class with all attributes and boilerplate - _overlays/APIMethod.java: creator convenience methods Updated files: - IAPIPath.java / APIPath.java: added apiMethods relationship - IAPIObject.java / APIObject.java: added apiMethodsRequestingThis and apiMethodsRespondingWithThis back-references Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The KeywordField constant was missing from the interface, which would cause compilation errors when tests reference APIMethod.API_METHOD_RESPONSE_CODES. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix Lombok @Singular annotations for apiMethodsRequestingThis and apiMethodsRespondingWithThis in APIObject.java. Add overrides for conflicting default methods inherited from IAPI and ICatalog interfaces in APIMethod.java. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Phase 3: Create synthetic APIObject + APIField assets for inline request/response schemas that have properties (not just $ref). Primitive/array inline schemas continue as blob-only. Phase 5: Add test assertions for response schema relationships (apiMethodResponseSchemas, apiMethodResponseCodes) and object reference field linking (apiIsObjectReference, apiObjectQualifiedName). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Expand one-liner method overrides to multi-line format per project Spotless/Google Java Format rules. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
d074b83 to
4b38617
Compare
Summary
IAPIMethod.java,APIMethod.java,_overlays/APIMethod.java) as a child of APIPath with request/response schema relationshipsapiMethods,apiMethodsRequestingThis,apiMethodsRespondingWithThis)components/schemasentry, APIField per schema property, with$refhandling for nested object referencesTickets
Test plan
🤖 Generated with Claude Code