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()호출만으로는 요청이 실행되지 않습니다.