@@ -145,8 +145,8 @@ public List<Docket> createRestApi(SwaggerProperties swaggerProperties) {
145145 Docket docketForBuilder = new Docket (DocumentationType .SWAGGER_2 )
146146 .host (swaggerProperties .getHost ())
147147 .apiInfo (apiInfo )
148- .globalOperationParameters (buildGlobalOperationParametersFromSwaggerProperties (
149- swaggerProperties .getGlobalOperationParameters ()));
148+ .globalOperationParameters (assemblyGlobalOperationParameters ( swaggerProperties . getGlobalOperationParameters (),
149+ docketInfo .getGlobalOperationParameters ()));
150150
151151 // 全局响应消息
152152 if (!swaggerProperties .getApplyDefaultResponseMessages ()) {
@@ -171,14 +171,12 @@ public List<Docket> createRestApi(SwaggerProperties swaggerProperties) {
171171 }
172172
173173
174-
175174 @ Override
176175 public void setBeanFactory (BeanFactory beanFactory ) throws BeansException {
177176 this .beanFactory = beanFactory ;
178177 }
179178
180179
181-
182180 private List <Parameter > buildGlobalOperationParametersFromSwaggerProperties (
183181 List <SwaggerProperties .GlobalOperationParameter > globalOperationParameters ) {
184182 List <Parameter > parameters = Lists .newArrayList ();
@@ -234,27 +232,53 @@ private List<Parameter> assemblyGlobalOperationParameters(
234232 /**
235233 * 设置全局响应消息
236234 *
237- * @param swaggerProperties
235+ * @param swaggerProperties 支持 POST,GET,PUT,PATCH,DELETE,HEAD,OPTIONS,TRACE
238236 * @param docketForBuilder
239237 */
240238 private void buildGlobalResponseMessage (SwaggerProperties swaggerProperties , Docket docketForBuilder ) {
241- List <ResponseMessage > responseMessages = new ArrayList ();
242- List <SwaggerProperties .GlobalResponseMessage > globalResponseMessages =
243- swaggerProperties .getGlobalResponseMessages ();
244- for (SwaggerProperties .GlobalResponseMessage globalResponseMessage : globalResponseMessages ) {
239+
240+ SwaggerProperties .GlobalResponseMessage globalResponseMessages =
241+ swaggerProperties .getGlobalResponseMessage ();
242+
243+ // POST,GET,PUT,PATCH,DELETE,HEAD,OPTIONS,TRACE 响应消息体
244+ List <ResponseMessage > postResponseMessages = getResponseMessageList (globalResponseMessages .getPost ());
245+ List <ResponseMessage > getResponseMessages = getResponseMessageList (globalResponseMessages .getGet ());
246+ List <ResponseMessage > putResponseMessages = getResponseMessageList (globalResponseMessages .getPut ());
247+ List <ResponseMessage > patchResponseMessages = getResponseMessageList (globalResponseMessages .getPatch ());
248+ List <ResponseMessage > deleteResponseMessages = getResponseMessageList (globalResponseMessages .getDelete ());
249+ List <ResponseMessage > headResponseMessages = getResponseMessageList (globalResponseMessages .getHead ());
250+ List <ResponseMessage > optionsResponseMessages = getResponseMessageList (globalResponseMessages .getOptions ());
251+ List <ResponseMessage > trackResponseMessages = getResponseMessageList (globalResponseMessages .getTrace ());
252+
253+ docketForBuilder .useDefaultResponseMessages (swaggerProperties .getApplyDefaultResponseMessages ())
254+ .globalResponseMessage (RequestMethod .POST , postResponseMessages )
255+ .globalResponseMessage (RequestMethod .GET , getResponseMessages )
256+ .globalResponseMessage (RequestMethod .PUT , putResponseMessages )
257+ .globalResponseMessage (RequestMethod .PATCH , patchResponseMessages )
258+ .globalResponseMessage (RequestMethod .DELETE , deleteResponseMessages )
259+ .globalResponseMessage (RequestMethod .HEAD , headResponseMessages )
260+ .globalResponseMessage (RequestMethod .OPTIONS , optionsResponseMessages )
261+ .globalResponseMessage (RequestMethod .TRACE , trackResponseMessages );
262+ }
263+
264+ /**
265+ * 获取返回消息体列表
266+ *
267+ * @param globalResponseMessageBodyList
268+ * @return
269+ */
270+ private List <ResponseMessage > getResponseMessageList (List <SwaggerProperties .GlobalResponseMessageBody > globalResponseMessageBodyList ) {
271+ List <ResponseMessage > responseMessages = new ArrayList <>();
272+ for (SwaggerProperties .GlobalResponseMessageBody globalResponseMessageBody : globalResponseMessageBodyList ) {
245273 ResponseMessageBuilder responseMessageBuilder = new ResponseMessageBuilder ();
246- responseMessageBuilder
247- .code (globalResponseMessage .getCode ())
248- .message (globalResponseMessage .getMessage ());
274+ responseMessageBuilder .code (globalResponseMessageBody .getCode ()).message (globalResponseMessageBody .getMessage ());
249275
250- if (!StringUtils .isEmpty (globalResponseMessage .getModelRef ())) {
251- responseMessageBuilder
252- .responseModel (new ModelRef (globalResponseMessage .getModelRef ()));
276+ if (!StringUtils .isEmpty (globalResponseMessageBody .getModelRef ())) {
277+ responseMessageBuilder .responseModel (new ModelRef (globalResponseMessageBody .getModelRef ()));
253278 }
254279 responseMessages .add (responseMessageBuilder .build ());
255280 }
256281
257- docketForBuilder .useDefaultResponseMessages (swaggerProperties .getApplyDefaultResponseMessages ())
258- .globalResponseMessage (RequestMethod .GET ,responseMessages );
282+ return responseMessages ;
259283 }
260284}
0 commit comments