Skip to content

Commit a6652ef

Browse files
author
bnasslahsen
committed
ApiResponse DEFAULT_DESCRIPTION Improvement. Fixes #610, #611.
1 parent 6dd6811 commit a6652ef

File tree

116 files changed

+1359
-1304
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+1359
-1304
lines changed

springdoc-openapi-common/src/main/java/org/springdoc/core/GenericResponseBuilder.java

+11-5
Original file line numberDiff line numberDiff line change
@@ -195,9 +195,8 @@ private void buildApiResponses(Components components, MethodParameter methodPara
195195
String httpCode = evaluateResponseStatus(methodParameter.getMethod(), methodParameter.getMethod().getClass(), isGeneric);
196196
ApiResponse apiResponse = methodAttributes.getGenericMapResponse().containsKey(httpCode) ? methodAttributes.getGenericMapResponse().get(httpCode)
197197
: new ApiResponse();
198-
if (httpCode != null)
199-
buildApiResponses(components, methodParameter, apiResponsesOp, methodAttributes, httpCode, apiResponse,
200-
isGeneric);
198+
buildApiResponses(components, methodParameter, apiResponsesOp, methodAttributes, httpCode, apiResponse,
199+
isGeneric);
201200
}
202201
}
203202

@@ -277,8 +276,15 @@ private void buildApiResponses(Components components, MethodParameter methodPara
277276
}
278277
else if (CollectionUtils.isEmpty(apiResponse.getContent()))
279278
apiResponse.setContent(null);
280-
if (StringUtils.isBlank(apiResponse.getDescription()))
281-
apiResponse.setDescription(DEFAULT_DESCRIPTION);
279+
if (StringUtils.isBlank(apiResponse.getDescription())) {
280+
try {
281+
HttpStatus httpStatus = HttpStatus.valueOf(Integer.valueOf(httpCode));
282+
apiResponse.setDescription(httpStatus.getReasonPhrase());
283+
}
284+
catch (IllegalArgumentException e) {
285+
apiResponse.setDescription(DEFAULT_DESCRIPTION);
286+
}
287+
}
282288
}
283289
if (apiResponse.getContent() != null
284290
&& ((isGeneric || methodAttributes.isMethodOverloaded()) && methodAttributes.isNoApiResponseDoc())) {

springdoc-openapi-data-rest/src/test/resources/results/app2.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
],
3030
"responses": {
3131
"200": {
32-
"description": "default response",
32+
"description": "OK",
3333
"content": {
3434
"application/xml": {
3535
"schema": {

springdoc-openapi-data-rest/src/test/resources/results/app3.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
],
5151
"responses": {
5252
"200": {
53-
"description": "default response",
53+
"description": "OK",
5454
"content": {
5555
"text/plain": {
5656
"schema": {

springdoc-openapi-data-rest/src/test/resources/results/app4.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"operationId": "findAll",
2020
"responses": {
2121
"200": {
22-
"description": "default response",
22+
"description": "OK",
2323
"content": {
2424
"*/*": {
2525
"schema": {
@@ -47,7 +47,7 @@
4747
},
4848
"responses": {
4949
"200": {
50-
"description": "default response",
50+
"description": "OK",
5151
"content": {
5252
"*/*": {
5353
"schema": {
@@ -78,7 +78,7 @@
7878
],
7979
"responses": {
8080
"200": {
81-
"description": "default response",
81+
"description": "OK",
8282
"content": {
8383
"*/*": {
8484
"schema": {
@@ -117,7 +117,7 @@
117117
},
118118
"responses": {
119119
"200": {
120-
"description": "default response"
120+
"description": "OK"
121121
}
122122
}
123123
}

springdoc-openapi-data-rest/src/test/resources/results/app5.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
],
8484
"responses": {
8585
"200": {
86-
"description": "default response",
86+
"description": "OK",
8787
"content": {
8888
"*/*": {
8989
"schema": {

springdoc-openapi-data-rest/src/test/resources/results/app6.json

+40-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
],
3131
"responses": {
3232
"200": {
33-
"description": "default response",
33+
"description": "OK",
3434
"content": {
3535
"*/*": {
3636
"schema": {
@@ -45,6 +45,45 @@
4545
},
4646
"components": {
4747
"schemas": {
48+
"RepositoryConstraintViolationExceptionMessage": {
49+
"type": "object",
50+
"properties": {
51+
"errors": {
52+
"type": "array",
53+
"items": {
54+
"$ref": "#/components/schemas/ValidationError"
55+
}
56+
}
57+
}
58+
},
59+
"ValidationError": {
60+
"type": "object",
61+
"properties": {
62+
"entity": {
63+
"type": "string"
64+
},
65+
"property": {
66+
"type": "string"
67+
},
68+
"invalidValue": {
69+
"type": "object"
70+
},
71+
"message": {
72+
"type": "string"
73+
}
74+
}
75+
},
76+
"ExceptionMessage": {
77+
"type": "object",
78+
"properties": {
79+
"cause": {
80+
"$ref": "#/components/schemas/ExceptionMessage"
81+
},
82+
"message": {
83+
"type": "string"
84+
}
85+
}
86+
},
4887
"Employee": {
4988
"type": "object",
5089
"properties": {

springdoc-openapi-data-rest/src/test/resources/results/app7.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
],
5656
"responses": {
5757
"200": {
58-
"description": "default response",
58+
"description": "OK",
5959
"content": {
6060
"application/xml": {
6161
"schema": {
@@ -97,4 +97,4 @@
9797
}
9898
}
9999
}
100-
}
100+
}

springdoc-openapi-data-rest/src/test/resources/results/app8.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"operationId": "getAllAlbums",
2020
"responses": {
2121
"200": {
22-
"description": "default response",
22+
"description": "OK",
2323
"content": {
2424
"*/*": {
2525
"schema": {
@@ -102,4 +102,4 @@
102102
}
103103
}
104104
}
105-
}
105+
}

springdoc-openapi-groovy/src/test/resources/results/app1.json

+22-22
Original file line numberDiff line numberDiff line change
@@ -11,53 +11,53 @@
1111
}
1212
],
1313
"paths": {
14-
"/cars": {
14+
"/cars/{carId}": {
1515
"get": {
1616
"tags": [
1717
"car-controller"
1818
],
19-
"operationId": "getCars",
19+
"operationId": "getCar",
20+
"parameters": [
21+
{
22+
"name": "carId",
23+
"in": "path",
24+
"required": true,
25+
"schema": {
26+
"type": "integer",
27+
"format": "int64"
28+
}
29+
}
30+
],
2031
"responses": {
2132
"200": {
22-
"description": "default response",
33+
"description": "OK",
2334
"content": {
2435
"*/*": {
2536
"schema": {
26-
"type": "array",
27-
"items": {
28-
"$ref": "#/components/schemas/Car"
29-
}
37+
"$ref": "#/components/schemas/Car"
3038
}
3139
}
3240
}
3341
}
3442
}
3543
}
3644
},
37-
"/cars/{carId}": {
45+
"/cars": {
3846
"get": {
3947
"tags": [
4048
"car-controller"
4149
],
42-
"operationId": "getCar",
43-
"parameters": [
44-
{
45-
"name": "carId",
46-
"in": "path",
47-
"required": true,
48-
"schema": {
49-
"type": "integer",
50-
"format": "int64"
51-
}
52-
}
53-
],
50+
"operationId": "getCars",
5451
"responses": {
5552
"200": {
56-
"description": "default response",
53+
"description": "OK",
5754
"content": {
5855
"*/*": {
5956
"schema": {
60-
"$ref": "#/components/schemas/Car"
57+
"type": "array",
58+
"items": {
59+
"$ref": "#/components/schemas/Car"
60+
}
6161
}
6262
}
6363
}

springdoc-openapi-kotlin/src/test/resources/results/app1.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
],
3535
"responses": {
3636
"200": {
37-
"description": "default response",
37+
"description": "OK",
3838
"content": {
3939
"application/json": {
4040
"schema": {

springdoc-openapi-kotlin/src/test/resources/results/app2.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"operationId": "index",
2020
"responses": {
2121
"200": {
22-
"description": "default response",
22+
"description": "OK",
2323
"content": {
2424
"*/*": {
2525
"schema": {
@@ -39,7 +39,7 @@
3939
"operationId": "foo",
4040
"responses": {
4141
"200": {
42-
"description": "default response",
42+
"description": "OK",
4343
"content": {
4444
"*/*": {
4545
"schema": {

springdoc-openapi-kotlin/src/test/resources/results/app3.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"operationId": "index",
2020
"responses": {
2121
"200": {
22-
"description": "default response",
22+
"description": "OK",
2323
"content": {
2424
"*/*": {
2525
"schema": {
@@ -39,7 +39,7 @@
3939
"operationId": "foo",
4040
"responses": {
4141
"200": {
42-
"description": "default response",
42+
"description": "OK",
4343
"content": {
4444
"*/*": {
4545
"schema": {

springdoc-openapi-kotlin/src/test/resources/results/app4.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
],
3030
"responses": {
3131
"200": {
32-
"description": "default response",
32+
"description": "OK",
3333
"content": {
3434
"*/*": {
3535
"schema": {

springdoc-openapi-kotlin/src/test/resources/results/app5.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"operationId": "foo",
2020
"responses": {
2121
"200": {
22-
"description": "default response",
22+
"description": "OK",
2323
"content": {
2424
"*/*": {
2525
"schema": {

springdoc-openapi-security/src/test/resources/results/app1.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
},
3434
"responses": {
3535
"200": {
36-
"description": "default response",
36+
"description": "OK",
3737
"content": {
3838
"*/*": {
3939
"schema": {
@@ -63,7 +63,7 @@
6363
},
6464
"responses": {
6565
"200": {
66-
"description": "default response",
66+
"description": "OK",
6767
"content": {
6868
"*/*": {
6969
"schema": {

springdoc-openapi-security/src/test/resources/results/app2.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
],
3535
"responses": {
3636
"200": {
37-
"description": "default response",
37+
"description": "OK",
3838
"content": {
3939
"*/*": {
4040
"schema": {
@@ -54,7 +54,7 @@
5454
"operationId": "noParametersAndAuthentication",
5555
"responses": {
5656
"200": {
57-
"description": "default response",
57+
"description": "OK",
5858
"content": {
5959
"*/*": {
6060
"schema": {
@@ -84,7 +84,7 @@
8484
],
8585
"responses": {
8686
"200": {
87-
"description": "default response",
87+
"description": "OK",
8888
"content": {
8989
"*/*": {
9090
"schema": {
@@ -104,7 +104,7 @@
104104
"operationId": "noParametersAndUser",
105105
"responses": {
106106
"200": {
107-
"description": "default response",
107+
"description": "OK",
108108
"content": {
109109
"*/*": {
110110
"schema": {

0 commit comments

Comments
 (0)