Types & Errors

Defines the type boundaries for HTTP request contracts and standard error objects.


OpenApiPathsLike

ts
export type OpenApiPathsLike = object;

The compile-time constraint itself is broad. objectActual type inference isPaths[path][method].parametersand requestBody.content["application/json"]specialized when there are properties like OpenAPI.

ServiceArguments<Paths, TPath, TMethod, R>

NameTypeDefaultDescription

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

NameTypeDefaultDescription

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&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 문자열 순서로 결정됩니다.

Error compatibility behavior

© 2026 Byeolnaerim. All rights reserved.IntroductionPrivacy Policy