3

以下の Maven プラグインを使用して、swagger をアプリケーションと統合しました https://github.com/martypitt/swagger-springmvc

私は春のサーブレットxmlで以下を設定しました

<mvc:annotation-driven/> <!-- Required so swagger-springmvc can access spring's RequestMappingHandlerMapping  -->
<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />

<mvc:default-servlet-handler/>

 <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations" >
            <list>

                <value>/WEB-INF/swagger.properties</value>
            </list>
        </property>
    </bean>

私のswaggerプロパティは以下のようになりました

documentation.services.basePath= http://payrollservice.com/customservice documentation.services.version=1.0

生成される api-docs.json は以下のようになりますが、ベース パスがない理由とプレフィックス "/default" がある理由がわかりません。

{
apiVersion: "1.0",
swaggerVersion: "1.2",
apis: [
{
path: "/default/custom-controller",
description: "backupset API"
}
],
info: {
title: "default Title",
description: "Api Description",
termsOfServiceUrl: "Api terms of service",
contact: "Contact Email",
license: "Licence Type",
licenseUrl: "License URL"
}
}
4

1 に答える 1

7

この「デフォルト」は、「闊歩グループ」のデフォルト名です。

https://github.com/martypitt/swagger-springmvc#swagger-group

Swagger グループは、このライブラリによって導入された概念であり、アプリケーション内の Swagger リソース リストの一意の識別子です。この概念が導入された理由は、複数のリソース リストを必要とするアプリケーションをサポートするためです。

通常、グループは 1 つだけで、「デフォルト」という名前が付けられます。変更する場合は、swagger 構成によって作成されたSwaggerSpringMvcPluginにグループ名を設定する必要があります。このようなもの:

@Configuration
@EnableSwagger
public class MySwaggerConfig {
    private SpringSwaggerConfig springSwaggerConfig;

    @Autowired
    public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
      this.springSwaggerConfig = springSwaggerConfig;
    }


    @Bean
    public SwaggerSpringMvcPlugin customImplementation() {
      return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
            .swaggerGroup("my-group");
    }
...
}

その後、Swagger で生成された API JSON URL を次のようにする必要があります。

...
apis: [
{
    path: "/my-group/custom-controller",
    description: "backupset API"
}
....
于 2014-09-10T11:16:33.887 に答える