问题描述
如何遵循标准的JSON API响应格式?我的回应是显示所有正在删除的卡数据。如果付款已成功删除,我想输出一个成功;如果删除一个错误,我想输出一个错误。
我的控制器
[HttpDelete]
[ProducesResponseType(typeof(FluentValidation.Results.ValidationResult),400)]
public async Task<IActionResult> DeletePaymentMethod(string paymentID)
{
var userId = User.Claims.FirstOrDefault(x => x.Type == "UserID").Value;
var result = new VersionResponse()
{
Data = await _paymentService.DeletePaymentMethod(paymentID,userId)
};
return Ok(result);
}
我的VersionResponse
public class VersionResponse
{
public dynamic Data { get; set; }
}
成功预期的响应:
{
data : {
success : true
}
}
出现错误时的预期响应:
{
error : {
message : "Payment method does not exist",// string,user friendly message
}
}
当前响应:
如果那里只有一种付款方式并且被删除了,那么这就是响应:
{
"data": {
"data": []
}
}
否则,如果我们还有多种付款方式,那么响应如下:
"data": {
"data": [
{
"id": "pm_1HEllWCCQ3Wtmj18t8Dm08WD","object": "payment_method","billingDetails": {
"address": {
"city": null,"country": null,"line1": null,"line2": null,"postalCode": null,"state": null,"stripeResponse": null
},"email": null,"name": null,"phone": null,"stripeResponse": null
},"card": {
"brand": "mastercard","checks": {
"addressLine1Check": null,"addresspostalCodeCheck": null,"cvcCheck": "pass","country": "US","expMonth": 8,"expYear": 2022,"fingerprint": "J2v2Z5D0AXU9RZRW","funding": "credit","last4": "4444","threeDSecureUsage": {
"supported": true,"wallet": null,"cardPresent": null,"created": "2020-08-11T00:54:59Z","customerId": "cus_HT43dM2M6dWiDT","customer": null,"fpx": null,"ideal": null,"livemode": false,"Metadata": {},"sepaDebit": null,"type": "card","stripeResponse": null
}
]
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)