`
vtrtbb
  • 浏览: 365915 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring boot 中用Swagger2 构建API说明文档

    博客分类:
  • java
 
阅读更多

maven:

<dependency>
		    <groupId>io.springfox</groupId>
		    <artifactId>springfox-swagger2</artifactId>
		    <version>2.2.2</version>
		</dependency>
		
		<dependency>
		    <groupId>io.springfox</groupId>
		    <artifactId>springfox-swagger-ui</artifactId>
		    <version>2.2.2</version>
		</dependency>

 

配置文件:

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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Swagger2Configuration {
	
	@Bean
    public Docket buildDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(buildApiInf())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.site.portal.web"))//要扫描的API(Controller)基础包
                .paths(PathSelectors.any())
                .build();
    }
	
    private ApiInfo buildApiInf() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2 UI构建API文档")
                .contact("测试下")
                .version("1.0")
                .build();
    }
}

 

 controller 类中:

 

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@Api(value = "城市服务",description="简单的事例")
@RestController
@RequestMapping("/cities")
public class CityController {
	
	@Autowired
    private CityService cityService;
	
	@ApiOperation("城市列表")
    @RequestMapping
    public PageInfo<City> getAll(City city) {
        List<City> countryList = cityService.getAll();
        return new PageInfo<City>(countryList);
    }
	
	@ApiOperation("添加城市")
    @RequestMapping(value = "/add")
    public City add() {
        return new City();
    }

    @RequestMapping(value = "/view/{id}")
    public City view(@PathVariable Integer id) {
        ModelAndView result = new ModelAndView();
        City city = cityService.getById(id);
        return city;
    }
    
    @ApiOperation("删除城市")
    @RequestMapping(value = "/delete/{id}")
    public ModelMap delete(@PathVariable Integer id) {
        ModelMap result = new ModelMap();
        cityService.deleteById(id);
        result.put("msg", "删除成功!");
        return result;
    }
    
    @ApiOperation("保存城市")
    @RequestMapping(value = "/save")
    public void save() {
        ModelMap result = new ModelMap();
        City city=new City();
        city.setName("beijing"+System.currentTimeMillis());
        city.setState("1");
        String msg = city.getId() == null ? "新增成功!" : "更新成功!";
        cityService.save(city);
        result.put("city", city);
        result.put("msg", msg);
    }
}

 

重新打包部署你的项目到WEB服务器,

访问地址

http://localhost:8080/your-contextpath/api-docs即可看到注解生成的API说明

访问地址

http://localhost:8080/your-contextpath/swagger-ui.html即可看到API信息使用方法

 

分享到:
评论

相关推荐

    spring-boot-framework-master.zip

    工作和学习之余的整理,完全基于spring boot的框架,无xml,整合了redis、ehcache、mail、quartz、task、mybatis、shiro、swaggerui等,实现了本地和分布式缓存,前端基于smartadmin,包括 rabbitmq、mongodb、报表...

    SpringBootLearning_forezp.tar.gz

    SpringBoot非官方教程 | 第十篇: 用spring Restdocs创建API文档 SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API SpringBoot非官方教程 | 第十二篇:springboot集成apidoc ...

    Progetto3:Raggruppamento delle API REST

    5. **Swagger或OpenAPI**: 这些工具可以用来文档化API,提供交互式的API测试界面,帮助开发者了解和使用API。 6. **错误处理**: 设计良好的API应包含清晰的错误处理机制,比如返回适当的HTTP状态码和详细的错误信息...

    cmd-bat-批处理-脚本-rimraf.zip

    cmd-bat-批处理-脚本-rimraf.zip

    ADS官网的混频器仿真教程

    该资源文件详细介绍了如何在ADS软件中进行混频器仿真,内容涵盖了仿真设置、参数调整、结果分析等多个方面。

    cmd-bat-批处理-脚本-Messagebox_Cancel_TryAgain_Continue.zip

    cmd-bat-批处理-脚本-Messagebox_Cancel_TryAgain_Continue.zip

    基于C#的OpcUa通讯实现:KEPserverEX服务器远程连接与测试工具UaExpert的应用 OpcUa

    内容概要:本文详细介绍了如何使用C#客户端实现OpcUa通讯,具体包括远程连接KEPserverEX服务器的方法及其应用。文中不仅提供了详细的环境准备工作指导,还给出了具体的代码示例用于创建会话和连接服务器,最后通过UaExpert测试工具验证了整个流程的有效性。这是一套亲测稳定高效的解决方案,适用于工业自动化领域的数据传输和控制。 适合人群:从事工业自动化领域的研发人员和技术爱好者,尤其是那些有C#编程经验并对OpcUa通讯感兴趣的开发者。 使用场景及目标:①帮助开发者掌握C#客户端连接KEPserverEX服务器的具体方法;②提供实用的代码示例和测试工具使用指南,便于快速上手;③确保数据传输的安全性和稳定性,提高工作效率。 其他说明:文章强调了环境准备的重要性,包括安装必要的开发工具和库,同时也指出了可能遇到的问题及解决办法。此外,还提到了UaExpert作为一款优秀的测试工具,在验证连接和数据交互方面的优势。

    人工智能中的自动逻辑推理.zip

    人工智能中的自动逻辑推理.zip

    cmd-bat-批处理-脚本-os2_cid_install.zip

    cmd-bat-批处理-脚本-os2_cid_install.zip

    C++实现贝塞尔法大地主题正算与反算

    在武汉大学大地测量学基础的编程作业中,我已完成相关任务。通过使用教材中的算例进行验证,程序运行结果的误差极小,这充分证明了程序的准确性和可靠性。在公式推导过程中,我严格遵循步骤,确保每一步都清晰严谨,从而保证了最终结果的高精度。作业中还提供了灵活的选择,用户可以根据自己的需求选择正算或反算操作,并且可以手动输入任意坐标,方便进行多样化的计算和验证。

    警 院指挥教学数字训练系统设计-公 安院校电子沙盘教学系统设计.zip

    警 院指挥教学数字训练系统设计——公 安院校电子沙盘教学系统设计.zip

    cmd-bat-批处理-脚本-un-java.zip

    cmd-bat-批处理-脚本-un-java.zip

    cmd-bat-批处理-脚本-SetForegroundWindow.zip

    cmd-bat-批处理-脚本-SetForegroundWindow.zip

    GSP软件在航空发动机及燃气轮机模型设计中的应用:稳态与瞬态性能仿真 瞬态性能

    内容概要:本文详细介绍了GSP软件在航空发动机和燃气轮机模型设计中的应用。首先,讨论了如何利用GSP软件构建不同类型的航空发动机(如涡扇、涡喷、涡轴)和燃气轮机模型,涵盖了从进气道到涡轮各组成部分的建模。接着,阐述了稳态特性的循环计算方法,包括空气、燃油、燃气等组分的变换及其能量转换和物质交换的计算。最后,探讨了瞬态性能计算和部件性能衰退降级仿真,通过时间序列分析和动态仿真模块,模拟发动机在不同工况下的瞬态响应和故障数据,从而全面评估发动机的性能。 适合人群:从事航空发动机和燃气轮机研究的设计工程师、研究人员和技术专家。 使用场景及目标:适用于需要深入了解航空发动机和燃气轮机构造、稳态和瞬态性能的研究和开发项目。目标是提高对发动机工作原理的理解,优化设计流程,提升性能预测精度。 其他说明:文中提到的技术手段不仅限于理论分析,还包括实际操作层面的代码实现,帮助读者掌握具体的建模和仿真技巧。

    cmd-bat-批处理-脚本-installtrusted.zip

    cmd-bat-批处理-脚本-installtrusted.zip

    用MATLAB编写的二维动态破裂建模的BIEM代码,.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    威布尔杂波下扩展目标检测.zip

    威布尔杂波下扩展目标检测.zip

    remotesensing-13-04370-v2.pdf

    remotesensing-13-04370-v2.pdf

    二十四节气之霜降介绍.pptx

    二十四节气之霜降介绍.pptx

    2025年网络安全技术漏洞扫描.docx

    2025年网络安全技术漏洞扫描.docx

Global site tag (gtag.js) - Google Analytics