0.2.1 • Published 1 year ago

@yowza/rrequestor v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Regulated Requestor

Regulated Requestor는 REST API를 사용하기 위한 객체를 정의합니다.

  • 요청 데이터와 응답 데이터의 타입을 잘 정의할 수 있습니다.
  • 같은 요청을 여러 코드에서 쉽게 재사용 할 수 있습니다.

interface RRequestHandler

RRequestHandlerRRequestData를 파라미터로 받아 RResponse 객체의 프로미스를 반환합니다. RResponse 객체는 status 프로퍼티를 통해 요청의 성공/실패 여부를 알 수 있습니다.

interface RErrorResponse

RErrorResponse는 요청이 실패했을 때 반환됩니다. 만약 서버로의 요청 자체가 실패했을 경우 statusCode 프로퍼티의 값이 null이 됩니다. 이외에는 서버에서 반환한 HTTP 상태 코드가 statusCode 프로퍼티의 값이 됩니다.

요청 실패 시 서버의 응답 데이터 데이터는 없거나, {reason: string} 형태여야합니다. 서버에서 요청 실패에 대한 이유 보낸다면 RErrorResponse 객체의 reason 프로퍼티를 통해 확인할 수 있습니다.

function defineRequestHandler

export function defineRequestHandler<Req extends RRequestData, Res>({ url, method }: RRequestHandlerOption<Req>): RRequestHandler<Req, Res>

export interface RRequestHandlerOption<Req extends RRequestData> {
    url: string;
    method: Req extends void ? string : "post" | "put" | "delete";
}

defineRequestHandler 함수는 request handler를 잘 정의해줍니다.

  • 이 함수는 2개의 제네릭을 사용합니다(ReqRes). 첫 번째(Req)는 요청 데이터 형식(RRequestData), 두 번째(Res)는 응답 데이터 형식입니다.
  • Reqvoid가 아니면, 요청 메소드는 post, put, delete로 제한됩니다.
  • 만약 요청 이후 추가적인 작업이 필요하다면, 굳이 defineRequestHandler를 사용하여 request handler를 정의하지 않아도 됩니다.
0.2.1

1 year ago

0.2.0

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago