【发布时间】:2020-10-29 18:59:13
【问题描述】:
我在 Asp.Net Core 3.1 中开发 API,下面有一个 POST 方法(内容类型为application/JSON),我故意将无效的 JSON 传递给响应,响应也很清楚。但在这里我的问题是我可以进行更改以返回类似的响应
countryId 是必填字段
对于这种特殊情况。请让我知道是否可以完成,否则,我也可以接受此响应(因为此响应也是有效的,首先检查内容类型是否为有效的 JSON)。
方法:
public ActionResult ValidateFields(ValidateFieldsRequest validateFieldsRequest)
{
请求类:
public class ValidateFieldsRequest
{
//string currencyCode, int countryId, string fieldName, string fieldValue
[Required]
public string currencyCode { get; set; }
[Required]
[RegularExpression("^[1-9]\\d*$", ErrorMessage = "Invalid fieldName.")]
public int countryId { get; set; }
[Required]
[MinLength(1, ErrorMessage = "At least one field required")]
public List<Field> fields { get; set; }
}
请求:
{
"currencyCode": "RUB",
"countryId": ,
"fields": [{
"fieldName": "BIC or Bank Code",
"fieldValue": "12345678901234567"
},
{
"fieldName": "Beneficiary Account Number",
"fieldValue": "123456"
}
]
}
回应:
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "|6a64d7ad-495850db788356cd.",
"errors": {
"$.countryId": [
"',' is an invalid start of a value. Path: $.countryId | LineNumber: 2 | BytePositionInLine: 28."
]
}
}
【问题讨论】:
标签: c# api asp.net-core asp.net-web-api asp.net-core-webapi