類型與錯誤
整理 HTTP 請求合約與標準錯誤物件的類型邊界。
OpenApiPathsLike
編譯時約束本身是寬鬆的 物件。實際類型推斷是Paths[path][method].parameters和 requestBody.content["application/json"]當有相同的 OpenAPI 風格屬性時會具體化。
ServiceArguments<Paths, TPath, TMethod, R>
| Name | Type | Default | 描述 |
|---|---|---|---|
url 必需 | TPath | - | Paths key. |
method 必需 | TMethod | - | Paths[TPath] method key. |
pathVariable | parameters.path | Record | - | path parameters가 있으면 해당 타입, 없으면 일반 Record fallback. |
queryString | parameters.query | Record | - | query parameters가 있으면 해당 타입, 없으면 일반 Record fallback. |
body | requestBody application/json | unknown | - | JSON request body schema가 있으면 해당 타입. |
resultInterceptor | (response: Response) => Promise<R> | - | 직접 response parser. |
headers | Readonly<Record<string, string>> | - | 요청별 headers. |
CacheForService<CacheName>
| Name | Type | Default | 描述 |
|---|---|---|---|
cacheTime 必需 | number | - | CSR shareReplay windowTime 또는 SSR revalidate 기준 milliseconds. |
cacheSize | number | - | CSR shareReplay bufferSize. SSR에서는 사용하지 않습니다. |
cacheName 必需 | CacheName | - | cache key prefix와 Next.js cache tag. |
HttpResponseError<Args>
response
원본 Fetch Response.
args
실패한 ServiceArguments.
data
JSON 또는 text로 파싱한 에러 body.
status
response.status getter.
message
body.message → defaultErrorMessage → 기본 HTTP ERROR 문자열 순서로 결정됩니다.