分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

.Net Core 分布式微服务框架 - Jimu 添加 Swagger 支持

发布时间:2023-09-06 02:08责任编辑:胡小海关键词:暂无标签

系列文章

  1. .Net Core 分布式微服务框架介绍 - Jimu
  2. .Net Core 分布式微服务框架 - Jimu 添加 Swagger 支持

一、前言

最近有空就优化 Jimu (一个基于.Net Core 的分布式微服务框架),考虑到现在的开发组织都向前后端分离发展,前后端各司其职,好的 api 文档可以减少大家沟通的时间成本,所以优先给 Jimu 添加对 api 文档生成的支持。市面上非常著名和牛逼的的 api 文档生成框架非 swagger 莫属。 它可以用来生成、描述、调用可视化的 Web 服务。花了 二天多的时间把它集成到 Jimu 的 apigateway。

如图

api 列表

api 明细

二、使用方式

1. 环境

  • Net Core 2.0
  • 基于Jimu 框架的 ApiGateway

2. 添加引用

Install-Package Jimu.Client.ApiGateway.SwaggerIntegration

3. 启动代码

在 Startup 里添加 UseJimuSwagger()

 ???????public void ConfigureServices(IServiceCollection services) ???????{ ????????????services.UseJimuSwagger(); // 添加 Swagger 支持 ????????} ????????public void Configure(IApplicationBuilder app, IHostingEnvironment env) ???????{ ?????????????app.UseJimuSwagger(); // 添加 Swagger 支持 ????

4. 定义接口(服务/方法)

接口定义可以添加三种标注,这些标注最终会显示在 swagger 生成的文档。

a. JimuService 标注是对接口元数据的定义和描述,如创建人、时间、描述、访问角色限制等。
b. JimuFieldComment 标注是对形式参数的注释。
c. JimuReturnComment 标注是对接口的返回类型做注释。

 ???????[JimuService(EnableAuthorization = true, CreatedBy = "grissom", CreatedDate = "2018-07-17", Comment = "根据新闻 id 获取新闻内容")] ???????[JimuFieldComment("id", "新闻id")] ???????[JimuReturnComment("一篇新闻内容")] ???????News GetNews(string id);

5. 定义对象 (DTO)

如果接口参数或返回类型是一个用户定义的类,对应的属性也可以添加注释标注 JimuFieldComment, 这些标注最终会显示在 swagger 生成的文档。

 ???public class News ???{ ???????[JimuFieldComment("新闻id")] ???????public string Id { get; set; } ???????[JimuFieldComment("新闻标题")] ???????public string Title { get; set; } ???????[JimuFieldComment("作者")] ???????public string Director { get; set; } ???????[JimuFieldComment("发布时间")] ???????public string PostTime { get; set; } ???????[JimuFieldComment("新闻内容")] ???????public string Content { get; set; } ???}

三、图解

四、总结

支持开源是很累和很耗时间的活,不过开源过程中自己也学到很多知识,希望可以一直坚持下去。

五、源码

https://github.com/grissomlau/jimu

https://github.com/grissomlau/jimu.demo

.Net Core 分布式微服务框架 - Jimu 添加 Swagger 支持

原文地址:https://www.cnblogs.com/grissom007/p/9432708.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved