¶Ô±ÈÐÂÎļþ |
| | |
| | |  |
| | | using Microsoft.AspNetCore.Builder; |
| | | using Swashbuckle.AspNetCore.SwaggerUI; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Core.Helper; |
| | | using static WIDESEA_Core.Extensions.CustomApiVersion; |
| | | |
| | | namespace WIDESEA_Core.Middlewares |
| | | { |
| | | /// <summary> |
| | | /// Swaggerä¸é´ä»¶ |
| | | /// </summary> |
| | | public static class SwaggerMiddleware |
| | | { |
| | | public static void UseSwaggerMiddle(this IApplicationBuilder app, Func<Stream> streamHtml) |
| | | { |
| | | if (app == null) throw new ArgumentNullException(nameof(app)); |
| | | |
| | | app.UseSwagger(); |
| | | app.UseSwaggerUI(c => |
| | | { |
| | | //æ ¹æ®çæ¬åç§°ååº éåå±ç¤º |
| | | var apiName = AppSettings.app(new string[] { "ApiName" }); |
| | | typeof(ApiVersions).GetEnumNames().OrderByDescending(e => e).ToList().ForEach(version => |
| | | { |
| | | c.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"{apiName} {version}"); |
| | | }); |
| | | |
| | | //c.SwaggerEndpoint("/swagger/v1/swagger.json", "WIDESEA.Coreåå°Api"); |
| | | |
| | | //c.SwaggerEndpoint($"https://petstore.swagger.io/v2/swagger.json", $"{apiName} pet"); |
| | | |
| | | // å°swaggeré¦é¡µï¼è®¾ç½®ææä»¬èªå®ä¹ç页é¢ï¼è®°å¾è¿ä¸ªå符串çåæ³ï¼{项ç®å.index.html} |
| | | if (streamHtml.Invoke() == null) |
| | | { |
| | | var msg = "index.htmlç屿§ï¼å¿
须设置为åµå
¥çèµæº"; |
| | | //Log.Error(msg); |
| | | throw new Exception(msg); |
| | | } |
| | | c.IndexStream = streamHtml; |
| | | c.DocExpansion(DocExpansion.None); //->ä¿®æ¹ç颿弿¶èªå¨æå |
| | | |
| | | //if (Permissions.IsUseIds4) |
| | | //{ |
| | | // c.OAuthClientId("blogadminjs"); |
| | | //} |
| | | |
| | | |
| | | // è·¯å¾é
ç½®ï¼è®¾ç½®ä¸ºç©ºï¼è¡¨ç¤ºç´æ¥å¨æ ¹ååï¼localhost:8001ï¼è®¿é®è¯¥æä»¶,注ælocalhost:8001/swaggeræ¯è®¿é®ä¸å°çï¼å»launchSettings.jsonælaunchUrl廿ï¼å¦æä½ æ³æ¢ä¸ä¸ªè·¯å¾ï¼ç´æ¥åååå³å¯ï¼æ¯å¦ç´æ¥åc.RoutePrefix = "doc"; |
| | | c.RoutePrefix = ""; |
| | | }); |
| | | } |
| | | } |
| | | } |