今天在学.net core的时候发现了一个问题,终结点死活映射不了自己添加的控制器,后经过研究发现解决方法,可能这个问题不应该叫做问题,可是我是初学者,就把这个问题给拎出来。本人开发环境 VS2019+.Net Core 3.1,问题重现过程:

1.新建Web Core项目,选择空项目

2.新建文件夹“Controller”,右键该文件夹->添加->控制器->API控制器-空->设置名称为“HomeController.cs”

3.修改路由特性为 [Route("[controller]")]

4.在该路由器类下添加Index函数,返回Test字符串

5.修改Startup类中Configure函数:

原代码:

app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Hello World!");
});
});

修改后的代码:

app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("Default", "{controller=Home}/{action=Index}/{id?}");
});

运行程序显示404

然后将HomeController中的两个特性删除就可以正常运行

原因是API控制器和MVC控制器是不一样的

MVC控制器通过URL选择action方法

API控制器根据HTTP请求方法的不同来选择API控制器方法

两种控制器使用的方法不一样,所以不能混淆使用

最新文章

  1. 2.1、Hibernate多表操作--一对多、多对一、多对多。
  2. HDFS操作
  3. 【BZOJ-1898】Swamp 沼泽鳄鱼 矩阵乘法
  4. 运行JSP时出现The requested resource (/proj3/MyJsp.jsp) is not available.(亲测有用)
  5. tornado中self.write() 写list
  6. SQL Pass北京举办第11次线下活动,欢迎报名(本次活动特别邀请了来自微软总部Xin Jin博士)
  7. php 根据指定的键对多维数组进行排序
  8. jQuery获取JSON格式数据方法
  9. C/C++面试题:编写类String的构造函数、析构函数和赋值函数。
  10. webpack学习笔记——打包后直接访问页面,图片路径错误
  11. Swift 从OC入门
  12. 学习在dos下使用gcc来编译
  13. luogu P4778 Counting swaps
  14. 【C++ Primer | 19】控制内存分配
  15. ubuntu安装启动redis
  16. OpenCV SVM
  17. 查看tcp连接信息socket几个常用的命令
  18. iOS开发-为UITableViewCell添加横线
  19. Rabbit and Grass HDU - 1849 (Bash+Nim)
  20. SQL Server中将多行数据拼接为一行数据并且有特殊字符

热门文章

  1. Flutter高仿微信项目开源-具即时通讯IM功能
  2. linux服务器cpu信息查看详解
  3. Glibc编译报错:*** LD_LIBRARY_PATH shouldn't contain the current directory when*** building glibc. Please change the environment variable
  4. 【IntelliJ IDEA】IDEA自动生成serialVersionUID的办法
  5. 二进制安装 k8s 1.15.6 集群
  6. 新手学分布式 - Envoy Proxy XDS Server动态配置的一点使用心得
  7. Docker部署Mysql集群
  8. NFS介绍、服务端安装配置、NFS配置选项
  9. 第四章 开始Unity Shader学习之旅(2)
  10. python1:基础数据类型(上)