그룹 요청
Typed shortcut method는 grouped request object를 사용합니다. 이 grouping은 OpenAPI 개념을 반영하지만, 별도 runtime client model을 만들지는 않습니다.
api.post('/uploads/{uploadId}', {
params: {
path: { uploadId: 'upload-1' },
query: { draft: true },
cookie: { session: 'type-only' },
},
headers: {
'x-upload-token': token,
},
formData: {
file,
tags: ['a', 'b'],
},
}, {
timeout: 15_000,
});구조
params.path: route template placeholder 값입니다.params.query: kysearchParams로 전달되는 query parameter입니다.params.cookie: typed cookie parameter이며 현재 runtime에서는 type-only입니다.headers: typed header parameter이며 세 번째 인자의 ky headers와 merge됩니다.json: JSON request body입니다.formData: multipart request body입니다.formUrlEncoded: URL-encoded request body입니다.- 세 번째 인자: 일반 ky options입니다.
런타임 정규화
Wrapper는 dispatch 전에 grouped object를 ky options로 바꿉니다.
params.path로 route template을 interpolation합니다.params.query를searchParams로 옮깁니다.- grouped
headers와 explicit ky headers를 merge합니다. - body source 하나를 선택합니다.
context.openapi를 주입합니다.ky에 위임합니다.
Cookie parameter는 OpenAPI type parity를 위해 존재하지만 Cookie header로 자동 serialize되지는 않습니다.