본문으로 건너뛰기

post()

함수 시그니처

post: <T>(api?: string, data?: unknown) => DenchCreateBuilder<T>

관련 RequestInit 속성

{
method: 'POST'
}

설명

POST 요청을 구성하는 DenchCreateBuilder<T>를 반환합니다. 반환된 빌더에서 body 형식을 선택한 뒤 실행 메서드를 호출할 수 있습니다.

제네릭 T는 이후 toJson()으로 반환받을 JSON 응답의 TypeScript 타입입니다.

예제

import { dench } from 'dench-fetch';

type CreatedUser = {
id: number;
name: string;
};

const api = dench('https://api.example.com');

const user = await api
.post<CreatedUser>('/users')
.sendJson({ name: 'Dench' })
.toJson();

post() 직후의 RequestInit은 다음과 같습니다.

{
method: 'POST'
}

sendJson()까지 적용한 뒤 실행되는 요청은 다음과 같습니다.

fetch('https://api.example.com/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: 'Dench' }),
});

주의사항

  • 타입 선언에는 두 번째 data 매개변수가 있지만, 현재 실제 구현은 이 값을 요청 body에 사용하지 않습니다.
  • 요청 body는 반환된 빌더의 sendJson(data), sendForm(data) 등의 메서드에 전달해야 합니다.
  • post() 호출만으로는 요청이 실행되지 않습니다.