|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- > 正常响应
-
- ```
- {
- "version": "1.0.0.0",
- "code": 200,
- "message": "this is message",
- "isError": false,
- "data": {
- "id": 1,
- "name": "name",
- "age": 21
- }
- }
-
- ================================
-
- 使用ApiResponse构造函数返回正常响应。
-
- [Route("get1")]
- [HttpGet]
- public ApiResponse Get1()
- {
-
- var data = new { Id = 1, Name = "name", Age = 21 };
- return new ApiResponse("this is message", data, StatusCodes.Status200OK);
-
- }
- ```
-
- > 异常响应
-
- ```
- {
- "version": "1.0.0.0",
- "code": 500,
- "isError": true,
- "responseException": {
- "exceptionMessage": "Unhandled Exception occurred. Unable to process the request."
- }
- }
-
- ================================
-
- 在接口层throw抛出异常
-
- [Route("get1")]
- [HttpGet]
- public ApiResponse Get1()
- {
- try
- {
-
- int i = 0;
- int j = 5 / i;
- return new ApiResponse("New record has been created in the database", 1, StatusCodes.Status201Created);
- }
- catch (Exception ex)
- {
-
- throw;
- }
-
- }
-
- ==============================
-
- 使用ApiException抛出特定类型的异常。
-
- [HttpGet]
- [Route("get2")]
- public ApiResponse Get2()
- {
- throw new ApiException("doesnt exist", StatusCodes.Status404NotFound);
- }
- ```
-
- > 入参字段不符合要求响应
-
- ```
- {
- "version": "1.0.0.0",
- "code": 400,
- "isError": true,
- "responseException": {
- "exceptionMessage": "Request responded with one or more validation errors occurred.",
- "validationErrors": [
- {
- "name": "Name",
- "reason": "最大长度5"
- },
- {
- "name": "Location",
- "reason": "最大长度5"
- }
- ]
- }
- }
-
- ================================
-
- 使用ApiException抛模型错误异常。
-
- [HttpPost]
- [Route("customException")]
- public ApiResponse Post1(AutoWrapperDemo model)
- {
- if(!ModelState.IsValid)
- {
- throw new ApiException(ModelState.AllErrors());
- }
- return new ApiResponse("New record has been created in the database", 1, StatusCodes.Status201Created);
- }
-
-
- ```
-
-
-
|