response.php
3.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
/*
* This file is part of the Jiannei/laravel-response.
*
* (c) Jiannei <longjian.huang@foxmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
return [
/*
|--------------------------------------------------------------------------
| Set the http status code when the response fails
|--------------------------------------------------------------------------
|
| the reference options are false, 200, 500
|
| false, stricter http status codes such as 404, 401, 403, 500, etc. will be returned
| 200, All failed responses will also return a 200 status code
| 500, All failed responses return a 500 status code
*/
'error_code' => false,
// You can use enumerations to define the code when the response is returned,
// and set the response message according to the locale
//
// The following two enumeration packages are good choices
//
// https://github.com/Jiannei/laravel-enum
// https://github.com/BenSampo/laravel-enum
// 'enum' => '', // \Jiannei\Enum\Laravel\Repositories\Enums\HttpStatusCodeEnum::class
'enum' => \Jiannei\Enum\Laravel\Repositories\Enums\HttpStatusCodeEnum::class, //
// You can set some attributes (eg:code/message/header/options) for the exception, and it will override the default attributes of the exception
'exception' => [
\Illuminate\Validation\ValidationException::class => [
'code' => 422,
],
\Illuminate\Auth\AuthenticationException::class => [
'message' => '用户未登录'
],
\Symfony\Component\HttpKernel\Exception\NotFoundHttpException::class =>[
'message' => '',
],
\Illuminate\Database\Eloquent\ModelNotFoundException::class => [
'message' => '',
],
],
// Set the structure of the response data
'format' => [
'fields' => [
'status' => ['alias' => 'status', 'show' => true],
'code' => ['alias' => 'code', 'show' => true],
'message' => ['alias' => 'message', 'show' => true],
'error' => ['alias' => 'error', 'show' => true],
'data' => [
'alias' => 'data',
'show' => true,
'fields' => [
// When data is nested with data, such as returning paged data, you can also set an alias for the inner data
'data' => ['alias' => 'data', 'show' => true], // data/rows/list
'meta' => [
'alia' => 'meta',
'show' => true,
'fields' => [
'pagination' => [
'alias' => 'pagination',
'show' => true,
'fields' => [
'total' => ['alias' => 'total', 'show' => true],
'count' => ['alias' => 'count', 'show' => true],
'per_page' => ['alias' => 'per_page', 'show' => true],
'current_page' => ['alias' => 'current_page', 'show' => true],
'total_pages' => ['alias' => 'total_pages', 'show' => false],
'links' => [
'alias' => 'links',
'show' => false,
'fields' => [
'previous' => ['alias' => 'previous', 'show' => true],
'next' => ['alias' => 'next', 'show' => true],
],
],
],
],
],
],
],
],
],
],
];