Skip to content

Commit

Permalink
Merge branch 'bugfix/model-enhancement'
Browse files Browse the repository at this point in the history
fixes #3014
fixes #3243
fixes #2345
fixes #3211
fixes #3082
fixes #563
  • Loading branch information
dilipkrish committed Feb 24, 2020
2 parents 11a5f30 + 9723510 commit 7e9248a
Show file tree
Hide file tree
Showing 11 changed files with 385 additions and 304 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@
import springfox.documentation.builders.ResponseMessageBuilder;
import springfox.documentation.schema.ModelReference;
import springfox.documentation.schema.TypeNameExtractor;
import springfox.documentation.schema.plugins.SchemaPluginsManager;
import springfox.documentation.service.ResponseMessage;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.schema.EnumTypeDeterminer;
import springfox.documentation.spi.schema.ViewProviderPlugin;
import springfox.documentation.spi.schema.contexts.ModelContext;
import springfox.documentation.spi.service.OperationBuilderPlugin;
import springfox.documentation.spi.service.contexts.OperationContext;
Expand All @@ -51,13 +53,16 @@ public class ResponseMessagesReader implements OperationBuilderPlugin {

private final EnumTypeDeterminer enumTypeDeterminer;
private final TypeNameExtractor typeNameExtractor;
private final SchemaPluginsManager pluginsManager;

@Autowired
public ResponseMessagesReader(
EnumTypeDeterminer enumTypeDeterminer,
TypeNameExtractor typeNameExtractor) {
TypeNameExtractor typeNameExtractor,
SchemaPluginsManager pluginsManager) {
this.enumTypeDeterminer = enumTypeDeterminer;
this.typeNameExtractor = typeNameExtractor;
this.pluginsManager = pluginsManager;
}

@Override
Expand All @@ -78,10 +83,14 @@ private void applyReturnTypeOverride(OperationContext context) {
int httpStatusCode = httpStatusCode(context);
String message = message(context);
ModelReference modelRef = null;

ViewProviderPlugin viewProvider =
pluginsManager.viewProvider(context.getDocumentationContext().getDocumentationType());

if (!isVoid(returnType)) {
ModelContext modelContext = context.operationModelsBuilder().addReturn(
returnType,
Optional.empty());
viewProvider.viewFor(returnType, context));

Map<String, String> knownNames = new HashMap<>();
Optional.ofNullable(context.getKnownModels().get(modelContext.getParameterId()))
Expand Down

0 comments on commit 7e9248a

Please sign in to comment.