Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaSpringBootSwiggerUI_Java_Spring Boot_Swagger - Fatal编程技术网

JavaSpringBootSwiggerUI

JavaSpringBootSwiggerUI,java,spring-boot,swagger,Java,Spring Boot,Swagger,我在java spring boot上大摇大摆地工作时遇到了一些问题。 该应用程序被编译,Swigger ui启动,但它是空的 这是我的招摇过市配置: package configuration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builde

我在java spring boot上大摇大摆地工作时遇到了一些问题。 该应用程序被编译,Swigger ui启动,但它是空的

这是我的招摇过市配置:

package configuration;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@Configuration
public class SwaggerConfiguration {
    @Bean
    public Docket productApi()
    {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build()
                .apiInfo(metaInfo());
    }

    private ApiInfo metaInfo() {

        return new ApiInfoBuilder().title("Swagger for Demo app")
                                   .description("Demo application using swagger")
                                   .contact
                                   (
                                       new Contact
                                       (
                                           "Vastag Atila",
                                           "",
                                           "wasyster@gmail.com"
                                       )
                                   )
                                   .license("MIT")
                                   .version("1.0.0")
                                   .build();
    }
}
以下是我的控制器示例:

package controllers;

import common.ServiceObjectResponse;
import entity.Diak;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import request.RequestDiakByName;
import services.IDiakService;

import javax.validation.Valid;
import java.util.List;

@RestController
@Api
public class DiakController
{
    @Autowired
    IDiakService _diakService;

    @ApiOperation("getByname")
    @PostMapping("/api/diak/byname")
    @ResponseBody
    public Diak GetDiakByName(@RequestBody @Valid RequestDiakByName data) throws Exception
    {
        ServiceObjectResponse<Diak> request = _diakService.getByName(data.Name);

        if(!request.getIsSuccess())
        {
            throw new Exception(request.getMessage());
        }
        return request.getObject();
    } 
}
导入的依赖项:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
    <scope>compile</scope>
</dependency>

伊奥·斯普林福克斯
springfox-Swagger 2
2.9.2
伊奥·斯普林福克斯
springfox招摇过市用户界面
2.9.2
编译
我的项目是一个multy-maven项目,如果它有价值的话。 我遵循了很多教程,但仍然无法让它工作

thnx变化

@ComponentScan({"controllers", "service", "repository"})


我已经修改了你的代码,用于招摇配置。你可以试试

package configuration;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@Configuration
public class SwaggerConfiguration {
    @Bean
  public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.basePackage("<your base package>"))
        .paths(PathSelectors.any())
        .build()
        .apiInfo(apiInfo());
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("Swagger for Demo app")
        .description("Demo application using swagger")
        .termsOfServiceUrl("http://springfox.io")
        .contact(
            new Contact(
                "DellEmc", "http://www.example.com/index.htm", "<some@emailid.com>"))
        .license("MIT"")
        .licenseUrl(
            "http://www.licenseurl.com/")
        .version("0.0.1")
        .build();
  }

}
@ComponentScan({"controllers", "service", "repository", "configuration"})
package configuration;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@Configuration
public class SwaggerConfiguration {
    @Bean
  public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.basePackage("<your base package>"))
        .paths(PathSelectors.any())
        .build()
        .apiInfo(apiInfo());
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("Swagger for Demo app")
        .description("Demo application using swagger")
        .termsOfServiceUrl("http://springfox.io")
        .contact(
            new Contact(
                "DellEmc", "http://www.example.com/index.htm", "<some@emailid.com>"))
        .license("MIT"")
        .licenseUrl(
            "http://www.licenseurl.com/")
        .version("0.0.1")
        .build();
  }

}
@RestController
@Api(
    value = "IDiakService",
    description = "API for IDiakService",
    tags = {"IDiakService"})
public class DiakController
{
    @Autowired
    IDiakService _diakService;

    @ApiOperation(
      value = "Get Diak By Name",
      tags = {"IDiakService"})
    @PostMapping("/api/diak/byname")
    @ResponseBody
    public Diak GetDiakByName(@RequestBody @Valid RequestDiakByName data) throws Exception
    {
        ServiceObjectResponse<Diak> request = _diakService.getByName(data.Name);

        if(!request.getIsSuccess())
        {
            throw new Exception(request.getMessage());
        }
        return request.getObject();
    } 
} }
@ComponentScan(basePackages = { "com.app.module.*" }) // you have to specify the package name.