wkennedy / swagger4spring-web

Swagger support for Spring MVC
89 stars 46 forks source link

Cannot follow instructions/configure ScalaObjectMapper #36

Open manosbatsis opened 10 years ago

manosbatsis commented 10 years ago

Using:

<mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="com.knappsack.swagger4springweb.util.ScalaObjectMapper"/>
            </property>
        </bean>
    </mvc:message-converters>

redefines a RequestMappingHandlerAdapter, with the other instance configured by a third party dpeendency:

org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter] is defined: expected single matching bean but found 2: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#1

Is there an alternative way to do this, e.g. programmatically? Wouldn't mind working on it for a pull request.

If i omit adding the config for ScalaObjectMapper calling resources

2014-02-15 12:31:43.067:WARN:oejs.ServletHandler:/apidoc/resourceList
com.thoughtworks.paranamer.ParameterNamesNotFoundException: Parameter names not found for create
    at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.getParameterNamesForMethod(BytecodeReadingParanamer.java:241)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.access$300(BytecodeReadingParanamer.java:144)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer.lookupParameterNames(BytecodeReadingParanamer.java:104)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer.lookupParameterNames(BytecodeReadingParanamer.java:69)
    at com.knappsack.swagger4springweb.util.AnnotationUtils.getAnnotatedParameters(AnnotationUtils.java:83)
    at com.knappsack.swagger4springweb.parser.ApiParameterParser.getApiParameters(ApiParameterParser.java:38)
    at com.knappsack.swagger4springweb.parser.ApiOperationParser.getDocumentationOperation(ApiOperationParser.java:91)
    at com.knappsack.swagger4springweb.parser.ApiParserImpl.processMethods(ApiParserImpl.java:200)
    at com.knappsack.swagger4springweb.parser.ApiParserImpl.processControllers(ApiParserImpl.java:111)
    at com.knappsack.swagger4springweb.parser.ApiParserImpl.createApiListings(ApiParserImpl.java:89)
    at com.knappsack.swagger4springweb.controller.ApiDocumentationController.getDocs(ApiDocumentationController.java:158)
    at com.knappsack.swagger4springweb.controller.ApiDocumentationController.getResourceList(ApiDocumentationController.java:172)
    at com.knappsack.swagger4springweb.controller.ApiDocumentationController.getResources(ApiDocumentationController.java:42)