Java Spring Boot SwaggerUI

标签 java spring-boot swagger

我在 java spring boot 上 Swagger 工作时遇到一些问题。 应用程序已编译,swagger ui 启动,但它是空的。

这是我的 Swagger 配置:

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();
    }
}

这是我的 Controller 示例:

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();
    } 
}

主应用程序:

package app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;


@SpringBootApplication
@ComponentScan({"controllers", "service", "repository"})
public class WebApiApplication
{
    public static void main(String[] args)
    {
        SpringApplication.run(WebApiApplication.class, args);
    }
}

导入的依赖项:

<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>

我的项目是一个多maven项目,如果它很重要的话。 我遵循了很多教程,但仍然无法让它工作。

谢谢

最佳答案

改变

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

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

关于Java Spring Boot SwaggerUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59200459/

相关文章:

java - 在 Spring Boot 中注册 BeanFactory

django Rest Framework - 如何向 api 文档(drf_yasg)添加 post 参数?

java - JDBC 在我的 postgres 查询中将表大写

java - 如何比较两个对象列表之间的字段?

java - Spring Boot 设置包含通过环境变量的配置文件

c# - .NET Core 和 Swagger API 生成

c# - 使用未在 swagger 中公开的 HTTP 内容上传 API 文件

java - 根据一条直线的 2 个点计算一个正方形的 4 个点

java - 数据库对象POJO中的文件(Springboot)

java - Apache HttpClient 4.5 将 POST 请求重定向到 GET 请求