タイプとエラー

HTTPリクエスト契約と標準エラーオブジェクトのタイプ境界を整理します。


OpenApiPathsLike

ts
export type OpenApiPathsLike = object;

コンパイル時制約自体は広い オブジェクトです。実際のタイプ推論はPaths[path][method].parametersと requestBody.content["application/json"]同様のOpenAPIスタイルのプロパティがあるときに具体化されます。

ServiceArguments<Paths, TPath, TMethod, R>

NameTypeDefault説明

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&lt;CacheName&gt;

NameTypeDefault説明

cacheTime

必須

number

-

CSR shareReplay windowTime 또는 SSR revalidate 기준 milliseconds.

cacheSize

number

-

CSR shareReplay bufferSize. SSR에서는 사용하지 않습니다.

cacheName

必須

CacheName

-

cache key prefix와 Next.js cache tag.

HttpResponseError&lt;Args&gt;

ts
client.callApi<Response>({
  url: "/profile/me",
  method: "get",
}).subscribe({
  error: (error) => {
    if (isHttpResponseError(error)) {
      console.log(error.status);
      console.log(error.response);
      console.log(error.args);
      console.log(error.data);
    }
  },
});

response

원본 Fetch Response.

args

실패한 ServiceArguments.

data

JSON 또는 text로 파싱한 에러 body.

status

response.status getter.

message

body.message → defaultErrorMessage → 기본 HTTP ERROR 문자열 순서로 결정됩니다.

エラー互換動作

© 2026 Byeolnaerim. 無断転載を禁じます。紹介プライバシーポリシー