요청 본문
Shortcut request는 세 가지 OpenAPI body shortcut인 json, formData, formUrlEncoded를 지원합니다.
JSON
api.post('/posts', {
json: {
title: 'Typed facade',
},
});Grouped json은 ky json option으로 매핑됩니다. 세 번째 인자에도 json이 있고 두 값이 모두 strict plain object이면 explicit ky value가 우선하도록 shallow merge됩니다.
멀티파트 폼 데이터
api.post('/uploads/{uploadId}', {
params: { path: { uploadId: 'upload-1' } },
formData: {
file,
visibility: 'private',
tags: ['a', 'b'],
},
});Object는 FormData로 변환됩니다. Array는 같은 key를 반복 append합니다. Blob value는 blob으로 append됩니다. undefined value는 건너뜁니다. 이미 FormData instance라면 그대로 전달됩니다.
URL 인코딩
api.post('/sessions', {
formUrlEncoded: {
username: 'demo',
password: 'secret',
scope: ['read', 'write'],
},
});Object는 URLSearchParams로 변환됩니다. Array는 같은 key를 반복 append하고 값은 string으로 변환됩니다.
명시적 덮어쓰기
세 번째 인자는 grouped body normalization을 override할 수 있습니다.
- explicit
body는 모든 grouped body보다 우선합니다. - explicit
json은 grouped form body를 대체할 수 있습니다. - grouped
json과 explicitjson은 둘 다 strict plain object일 때만 merge됩니다.
특정 endpoint에서 정확한 ky behavior가 필요할 때 이 escape hatch를 사용하세요.