TSOA. How to fix the mismatch of the request body on the server and client?
Тело запроса в postman
{
"data": {
"type": "type",
"amount": "amount",
"status": "status",
"currency": "currency",
"currency": "currency"
}
Тело запроса на сервере:
export type MercuryoCallbackPayload ={
data: {
type: string;
amount: string;
status: string;
currency: string;
};
};
Ошибка
{
"data": {
"requestBody": {
"message": "Could not match the union against any of the items. Issues: [{\"requestBody.data\":{\"message\":\"\\\"currency2\\\" is an excess property and therefore is not allowed\",\"value\":{\"currency2\":\"currency2\"}},\"requestBody.data.merchant_transaction_id\":{\"message\":\"'merchant_transaction_id' is required\"},\"requestBody.data.fiat_currency\":{\"message\":\"'fiat_currency' is required\"},\"requestBody.data.fiat_amount\":{\"message\":\"'fiat_amount' is required\"},\"requestBody.data.updated_at\":{\"message\":\"'updated_at' is required\"},\"requestBody.data.created_at\":{\"message\":\"'created_at' is required\"},\"requestBody.data.user_uuid\":{\"message\":\"'user_uuid' is required\"}},{\"requestBody\":{\"message\":\"\\\"data\\\" is an excess property and therefore is not allowed\",\"value\":{\"data\":{\"type\":\"type\",\"amount\":\"amount\",\"status\":\"status\",\"currency\":\"currency\",\"currency2\":\"currency2\"}}}}]",
"value": {
"data": {
"type": "type",
"amount": "amount",
"status": "status",
"currency": "currency",
"currency2": "currency2"
}
}
}
}
}
KonstantinVKL, Вариант первый: Прочитать сообщение об ошибке, понять его, исправить запрос.
Вариант второй: Прочитать документацию на API, исправить запрос.
Вариант третий, наиболее реалистичный: Нанять специалиста.
Rsa97, ошибки в запросе нет. Тело запроса от сервиса (в этом примере в постмане) умышленно содержит больше параметров. В том и вопрос, как обойти эту ошибку