同一项目中的Razor页面和Webapi

编程入门 行业动态 更新时间:2024-10-18 01:38:42
本文介绍了同一项目中的Razor页面和Webapi的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我在 core 3.0中创建了一个Web应用程序(剃须刀页面).然后,我向其中添加了一个api控制器(均来自模板,只需单击几下).当我运行应用程序时,剃须刀页面有效,但api调用返回404.问题出在哪里,如何使它起作用?

I created a web app (razor pages) in core 3.0. Then I added an api controller to it (both from templates, just few clicks). When I run app, razor page works, but api call returns 404. Where is the problem and how can I make it work?

推荐答案

您需要配置启动以支持Web api和属性路由.

You need to configure your startup to support web api and attribute routing.

services.AddControllers()添加对控制器和与API相关的功能的支持,但不添加视图或页面的支持.请参考 MVC服务注册.

services.AddControllers() adds support for controllers and API-related features, but not views or pages. Refer to MVC service registration.

添加 endpoints.MapControllers .请参阅迁移MVC控制器.

合并剃须刀页面和api之类的

Combine razor pages and api like:

public void ConfigureServices(IServiceCollection services) { services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; }); services.AddRazorPages() .AddNewtonsoftJson(); services.AddControllers() .AddNewtonsoftJson(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { //other middlewares app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); endpoints.MapControllers(); }); }

更多推荐

同一项目中的Razor页面和Webapi

本文发布于:2023-11-17 08:43:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1609496.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:页面   项目   Razor   Webapi

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!