タイプとエラー
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 문자열 순서로 결정됩니다.