首页 > 其他分享 >.net webapi 处理前端请求跨域问题

.net webapi 处理前端请求跨域问题

时间:2024-05-22 09:20:21浏览次数:33  
标签:webapi 跨域 app any var Services using net builder

1.打开 Program.cs 文件,在 var app = builder.Build(); 语句前添加如下代码

builder.Services.AddCors(o => o.AddPolicy("any", p => p.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()));

2.在var app = builder.Build();语句后添加 app.UseCors();

app.UseCors();

Program.cs完整代码如下

var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddCors(o => o.AddPolicy("any", p => p.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()));
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}
app.UseCors();
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();

3.使用
在定义接口的地方引入 [EnableCors("any")]   any 为 

builder.Services.AddCors(o => o.AddPolicy("any", p => p.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod())); 里定义的 any

完整代码如下

using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using SpingSystem_API.Model;

namespace SpingSystem_API.Controllers
{
    [EnableCors("any")]
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class ProductsController : ControllerBase
    {
        public List<Products> GetProduct()
        {
            List<Products> productsList = Products.GetProductList();
            return productsList;
        }
    }
}

 

 





标签:webapi,跨域,app,any,var,Services,using,net,builder
From: https://www.cnblogs.com/tlfe/p/18205443

相关文章

  • ​一款开源的.NET程序集反编译、编辑和调试神器----dnSpyEx
    思维导航前言dnSpyEx主要功能工具源代码工具下载安装运行创建测试项目并编译成dll程序集使用工具调试程序集中的代码使用工具编辑程序集中的代码使用工具编辑程序集中的IL指令项目源码地址优秀项目和框架精选DotNetGuide技术社区交流群前言说到.NET相关的反编......
  • Netty 客户端与服务端收发消息demo
    客户端与服务端收发消息,要实现的具体功能是:在控制台输入一条消息之后按回车键,校验完客户端的登录状态之后,把消息发送到服务端;服务端收到消息之后打印,并向客户端发送一条消息,客户端收到消息之后打印。 客户端NettyClientimportcom.xc.xcspringboot.x_netty.client.handler.*;......
  • 基于webapi的websocket聊天室(番外一)
    上一篇我已经实现了聊天室,并且在协议中实现了4种类型的消息传输。其实还可以添加video,audio,live等等类型。不过假如把目前的协议看作RCP1.0版的话,这个版本就只支持有限的4种消息。精力有限啊。也许RCP2.0就可以把video,audio类型加进去?这不是这篇番外考虑的。而是我在定义和实现......
  • 在VB.NET项目中使用C#编写的代码
    前言VB.NET,全名VisualBasic.NET,是Microsoft.NET框架的一部分,是一种面向对象的编程语言。它继承了VisualBasic的易用性,同时增加了对面向对象编程的支持。VB.NET提供了大量的内置函数,使得开发者可以更容易地处理字符串、数学计算、文件和目录访问等任务。它还提供了对WindowsF......
  • EDP .Net开发框架--自动化日志
    平台下载地址:https://gitee.com/alwaysinsist/edp自动化日志不需要额外调用日志相关功能即可无感实现程序集方法调用的日志记录。创建业务逻辑处理类publicclassStudentBLL:BusinessLogicBase<StudentBLL>继承基类BusinessLogicBase<T>定义业务逻辑方法点击查看代......
  • netty 最简demo
    Netty是什么Netty到底是何方神圣?用一句简单的话来说就是:Netty封装了JDK的NIO,让你用得更方便,不用再写一大堆复杂的代码了。用官方正式的话来说就是:Netty是一个异步事件驱动的网络应用框架,用于快速开发可维护的高性能服务端和客户端。使用Netty而不使用JDK原生NIO的原因1.使用J......
  • .Net6 web API (跨域请求 Vue项目)
    前沿在做新项目的时候跨域2中选择一种是,.net .net //添加跨域策略builder.Services.AddCors(options=>{options.AddPolicy("CorsPolicy",opt=>opt.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().WithExposedHeaders("X-Pagina......
  • NET6 授权方式
    简单授权以下代码限制为仅允许经过身份验证的用户访问 AccountController:[Authorize]publicclassAccountController:Controller{publicActionResultLogin(){}publicActionResultLogout(){}}如果要将授权应用于操作而不是控制器,请......
  • dotnet X11 设置窗口鼠标触摸命中穿透
    本文记录如何在X11应用里面,使用XShapeCombineRegion方法配置一个X11窗口支持和Win32窗口一样的命中测试穿透功能,即对应Win32的WS_EX_TRANSPARENT的鼠标、触摸等的点击等动作的穿透功能,可以实现在窗口中挖空一块范围直接穿透到后面的窗口在X11窗口中,想要实现让窗口......
  • Asp-Net-Core开发笔记:给SwaggerUI加上登录保护功能
    前言#在SwaggerUI中加入登录验证,是我很早前就做过的,不过之前的做法总感觉有点硬编码,最近.Net8增加了一个新特性:调用MapSwagger().RequireAuthorization来保护SwaggerUI,但官方的这个功能又像半成品一样,只能使用postmancurl之类的工具带上Authorizationheader来请......