api-build

This commit is contained in:
tongfei
2023-10-18 11:10:18 +08:00
parent b477662e67
commit 224efafabf
5 changed files with 217 additions and 6 deletions

View File

@@ -2,30 +2,53 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Http;
using Microsoft.Extensions.Logging;
using Swashbuckle.AspNetCore.SwaggerUI;
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Linq;
using System.Threading.Tasks;
using WMS.Web.Domain.Options;
using WMS.Web.Repositories.DependencyInjection;
namespace WMS.Web.Api
{
public class Startup
{
public Startup(IConfiguration configuration)
public Startup(IConfiguration configuration, IWebHostEnvironment webHostEnvironment)
{
Configuration = configuration;
WebHostEnvironment = webHostEnvironment;
}
public IConfiguration Configuration { get; }
public IWebHostEnvironment WebHostEnvironment;
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
var option = Configuration.GetSection("AppOptions").Get<AppOptions>();
var option_soa = Configuration.GetSection("SoaOptions").Get<SoaOptions>();
var serverVersion = new MySqlServerVersion(new Version(8, 0, 18));
//<2F><><EFBFBD>ݿ<EFBFBD>ע<EFBFBD><D7A2>
services.AddApp(Configuration, WebHostEnvironment, builder =>
{
builder.AddDbContext(
opt => { opt.UseMySql(option.DBConnectionString, serverVersion); });
});
services.AddControllers();
//<2F>Ƴ<EFBFBD><C6B3><EFBFBD>http<74><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>ַhttps://docs.microsoft.com/zh-cn/dotnet/core/compatibility/aspnet-core/5.0/http-httpclient-instances-log-integer-status-codes<65><73>
services.RemoveAll<IHttpMessageHandlerBuilderFilter>();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
@@ -35,13 +58,26 @@ namespace WMS.Web.Api
{
app.UseDeveloperExceptionPage();
}
if (WebHostEnvironment.IsDevelopment())
{
// Swagger<65>м<EFBFBD><D0BC><EFBFBD>
app.UseSwagger();
// SwaggerUI
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint($"/swagger/v1/swagger.json", "WMS-Api");
c.RoutePrefix = string.Empty;
c.DocExpansion(DocExpansion.None);
});
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCors("AllowAllOrigin");
//ͳһ<CDB3><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD>
app.UseMiddleware<AuthorizationTokenSecurityPolicy>();
app.UseMiddleware<ErrorHandlingMiddleware>();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();