Skip to content

Commit

Permalink
$563
Browse files Browse the repository at this point in the history
  • Loading branch information
MaksimOrlov committed Feb 8, 2020
1 parent 018d75b commit 5f9171b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 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
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@ class DefaultResponseMessageReaderSpec extends DocumentationContextSpec {
new TypeResolver(),
modelNameRegistry,
new JacksonEnumTypeDeterminer())
sut = new ResponseMessagesReader(new JacksonEnumTypeDeterminer(), typeNameExtractor)
sut = new ResponseMessagesReader(
new JacksonEnumTypeDeterminer(),
typeNameExtractor,
defaultSchemaPlugins())
}

def "Should add default response messages"() {
Expand Down

0 comments on commit 5f9171b

Please sign in to comment.