Skip to content

Commit daa6249

Browse files
JeffLi1993liqiangqiang
authored andcommitted
全局响应消息实现
1 parent 41d144c commit daa6249

File tree

2 files changed

+40
-18
lines changed

2 files changed

+40
-18
lines changed

src/main/java/com/spring4all/swagger/SwaggerAutoConfiguration.java

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,19 +90,7 @@ public List<Docket> createRestApi(SwaggerProperties swaggerProperties) {
9090

9191
// 全局响应消息
9292
if (!swaggerProperties.getApplyDefaultResponseMessages()) {
93-
94-
ResponseMessageBuilder responseMessageBuilder401 = new ResponseMessageBuilder()
95-
.code(401)
96-
.message(swaggerProperties.getGlobalResponseMessage().getMessage401());
97-
if (!StringUtils.isEmpty(swaggerProperties.getGlobalResponseMessage().getModelRef401()))
98-
responseMessageBuilder401.responseModel(
99-
new ModelRef(swaggerProperties.getGlobalResponseMessage().getModelRef401()));
100-
101-
102-
List<ResponseMessage> responseMessages = new ArrayList();
103-
responseMessages.add(responseMessageBuilder401.build());
104-
docketForBuilder.useDefaultResponseMessages(swaggerProperties.getApplyDefaultResponseMessages())
105-
.globalResponseMessage(RequestMethod.GET,responseMessages);
93+
buildGlobalResponseMessage(swaggerProperties, docketForBuilder);
10694
}
10795

10896
Docket docket = docketForBuilder.select()
@@ -176,11 +164,15 @@ public List<Docket> createRestApi(SwaggerProperties swaggerProperties) {
176164
return docketList;
177165
}
178166

167+
168+
179169
@Override
180170
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
181171
this.beanFactory = beanFactory;
182172
}
183173

174+
175+
184176
private List<Parameter> buildGlobalOperationParametersFromSwaggerProperties(
185177
List<SwaggerProperties.GlobalOperationParameter> globalOperationParameters) {
186178
List<Parameter> parameters = Lists.newArrayList();
@@ -232,4 +224,31 @@ private List<Parameter> assemblyGlobalOperationParameters(
232224
resultOperationParameters.addAll(docketOperationParameters);
233225
return buildGlobalOperationParametersFromSwaggerProperties(resultOperationParameters);
234226
}
227+
228+
/**
229+
* 设置全局响应消息
230+
*
231+
* @param swaggerProperties
232+
* @param docketForBuilder
233+
*/
234+
private void buildGlobalResponseMessage(SwaggerProperties swaggerProperties, Docket docketForBuilder) {
235+
List<ResponseMessage> responseMessages = new ArrayList();
236+
List<SwaggerProperties.GlobalResponseMessage> globalResponseMessages =
237+
swaggerProperties.getGlobalResponseMessages();
238+
for (SwaggerProperties.GlobalResponseMessage globalResponseMessage : globalResponseMessages) {
239+
ResponseMessageBuilder responseMessageBuilder = new ResponseMessageBuilder();
240+
responseMessageBuilder
241+
.code(globalResponseMessage.getCode())
242+
.message(globalResponseMessage.getMessage());
243+
244+
if (!StringUtils.isEmpty(globalResponseMessage.getModelRef())) {
245+
responseMessageBuilder
246+
.responseModel(new ModelRef(globalResponseMessage.getModelRef()));
247+
}
248+
responseMessages.add(responseMessageBuilder.build());
249+
}
250+
251+
docketForBuilder.useDefaultResponseMessages(swaggerProperties.getApplyDefaultResponseMessages())
252+
.globalResponseMessage(RequestMethod.GET,responseMessages);
253+
}
235254
}

src/main/java/com/spring4all/swagger/SwaggerProperties.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public class SwaggerProperties {
5858
private Boolean applyDefaultResponseMessages = true;
5959

6060
/** 全局响应消息 ,目前支持 GET **/
61-
private GlobalResponseMessage globalResponseMessage;
61+
private List<GlobalResponseMessage> globalResponseMessages;
6262

6363
@Data
6464
@NoArgsConstructor
@@ -128,11 +128,14 @@ public static class Contact {
128128
@NoArgsConstructor
129129
public static class GlobalResponseMessage {
130130

131-
/** 401 响应消息 **/
132-
private String message401;
131+
/** 响应码 **/
132+
private int code;
133133

134-
/** 401 响应体 **/
135-
private String modelRef401;
134+
/** 响应消息 **/
135+
private String message;
136+
137+
/** 响应体 **/
138+
private String modelRef;
136139
}
137140

138141
}

0 commit comments

Comments
 (0)