Types & Errors
HTTP 요청 계약과 표준 에러 객체의 타입 경계를 정리합니다.
OpenApiPathsLike
compile-time constraint 자체는 넓은 object입니다. 실제 타입 추론은Paths[path][method].parameters와 requestBody.content["application/json"]같은 OpenAPI-style property가 있을 때 구체화됩니다.
ServiceArguments<Paths, TPath, TMethod, R>
| Name | Type | Default | Description |
|---|---|---|---|
url required | TPath | - | Paths key. |
method required | 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 | Description |
|---|---|---|---|
cacheTime required | number | - | CSR shareReplay windowTime 또는 SSR revalidate 기준 milliseconds. |
cacheSize | number | - | CSR shareReplay bufferSize. SSR에서는 사용하지 않습니다. |
cacheName required | 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 문자열 순서로 결정됩니다.