首页
学习
活动
专区
圈层
工具
发布

Asp.NetCore Web开发之路由

在asp.net core中通过路由来将请求映射到对应的action,主要用到两个中间件,UseRouting()和UseEndpoints() 前者用于设置请求和action的映射关系,后者用于请求没有对应...action的情况(一般是设置路由到主页,或者错误页面) MVC中路由到控制器 一个新建的mvc模板,最后一个中间件默认是: app.UseEndpoints(endpoints => {...; }); 这是一个传统路由,用于将请求映射到控制器的action,默认是访问home控制器下的index界面,并且支持使用REST风格传入一个可空参数(不是必须的),也就是/{id?}...HTTP谓词模板 http谓词模板有: HttpGet , HttpPost , HttpPut , HttpDelete , HttpHead , HtttpPatch 它们也是路由的一种,一般用在...web api中,用来限制为某种请求,从字面上也能看出它们的作用,标记为HttpGet路由的action,只能接受GET请求。

99220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    此属性指定了Edit方法的重载,此方法仅被POST 请求所调用。您可以将HttpGet属性应用于第一个编辑方法,但这是不必要的,因为它是默认的属性。...(操作方法会被隐式的指定为HttpGet属性,从而作为HttpGet方法。) 绑定(Bind)属性是另一个重要安全机制,可以防止黑客攻击(从over-posting数据到你的模型)。... 元素会被发送到,的action属性所设置的URL:/Movies/Edit。...ModelState.IsValid方法用于验证提交的表单数据是否可用于修改(编辑或更新)一个Movie对象。...现在当您提交搜索,该 URL 将包含搜索的查询字符串(query string)。搜索还会请求到 HttpGet Index操作方法,即使您也有一个HttpPost Index方法。 ?

    8K110

    Asp.Net Web API 2第五课——Web API路由

    如果你熟悉Asp.Net MVC,Web API的路由与Asp.Net MVC的路由是非常类似的。这主要的区别就是Web API使用的是HTTP方法,而不是URI路径来选择Action。...你也可以在Web API中使用MVC风格的路由。本文不需要有任何Asp.Net MVC的基础。.../1 在路由中使用“api”的原因是为了避免与ASP.NET MVC的路由冲突。...例如,对于一个Get请求,Web API会查找一个以“Get…”开头的动作,如“GetContact”或“GetAllContacts”等。这种约定只应用于GET、POST、PUT和DELETE方法。...HTTP方法 替代使用HTTP方法的命名约定,你可以明确的为一个Action指定HTTP方法,通过以HttpGet、HttpPost、HttpPut或者HttpDelete属性来对Action方法进行修饰

    1.5K50

    基于ASP.NET Core 3.x的端点路由(Endpoint Routing)实现控制器(Controller)和操作(Action)分离的接口服务

    本文首发于 码友网 -- 《基于ASP.NET Core 3.x的端点路由(Endpoint Routing)实现控制器(Controller)和操作(Action)分离的接口服务》 前言 如题,今天为大家分享一种基于...ASP.NET Core 3.x的端点路由(Endpoint Routing)实现控制器(Controller)和操作(Action)分离的接口服务方案。...,引用并总结如下: 常规的MVC模式本质上是一种反模式,这种模式集合了许多但从不相互调用的方法,并且很少在相同的状态下操作。...4.标记Handle()方法的HTTP请求类型,如:HttpGet,HttpPost... 5.定义返回实体类TResponse,示例中的类名为StudentResponse.cs 代码如下: using.../// 姓名 /// [Required] public string Name { get; set; } } } 创建用于用户授权的目录

    1.6K30

    ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)

    目录 前言:  1、创建MVC项目  2、修改返回格式  3、创建【Web API】控制器  4、创建【HttpGet】访问接口  5、创建【HttpPost】访问接口  6、测试接口:  6.1、执行...:点击【调试】,【开始执行(步调试)】  6.2、使用【Postman】进行测试(需要自行下载)  6.3、访问路径拼接方式: 6.4、HttpGet请求测试(可以在浏览器中测试即可)  6.5、HttpPost...提供在线jQuery访问地址:【https://code.jquery.com/jquery-3.1.1.min.js】  1、创建MVC项目 依次选择【C#】【Windows】【Web】,下拉至【ASP.NET...();】 【routeTemplate: "api/{controller}/{action}/{id}",】  3、创建【Web API】控制器 在【Controllers】文件夹上点击【鼠标右键】...,选择【控制器】,并依次选择【Web API】【Web API 2 控制器-空】,点击【添加】  添加控制器的名称【Test】,默认后缀【Controller】  创建效果:  4、创建【HttpGet

    2.1K20

    从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之二 || 后端项目搭建

    : 点开Controllers --> ValuesController 文件,你会发现四个方法,并且每个方法也有各自的特性,分别是HttpGet,HttpPost,HttpPut,HttpDelete...这是因为我只添加了MVC middleware, 但是它啥也没做, 也没有找到任何可用于处理请求的代码, 所以我们要添加Controller来返回数据/资源等等 四、核心知识点 1、Routing 路由...其中convention-based (基于约定的) 主要用于MVC (返回View或者Razor Page那种的). Web api 推荐使用attribute-based....常用的Http Method有: Get, 查询, Attribute: HttpGet, 例如: '/api/product', '/api/product/1' POST, 创建, HttpPost...加上Controller的Route前缀, 那么访问这个Action的地址就应该是: 'api/product' 后边也可以跟着自定义的路由地址, 例如 [HttpPost("create")], 那么这个

    1.3K20

    Asp.Net Web API(三)

    当Web API接收到一个请求的时候,它将这个请求路由到一个Action。         注意:Web API的路由与Asp.Net MVC的路由是非常相似的。...例如:对于Get请求,Web API会查找一个以“Get..”开头的Action,这种约定只应用于GET,POST,PUT,DELETE方法,通过在Controller上使用attribute,你可以启动其它的...Routing Variations路由变化       HTTP方法       替代使用HTTP方法的命名约定,你可以明确的为一个Action指定HTTP方法,通过以HttpGet,HttpPost...,确定如下 你可以用注解属性AcceptVerbs,HttpDelete,HttpGet,HttpPost,HttpOptions,HttpPatch,HttpPost或者HttpPut来指定HTTP方法...对于来自URI的参数,我们希望确保URI在其路径(通过路由字典)或查询字符串中实际包含一个用于此参数的值。

    2.1K50

    《ASP.ENT Core 与 RESTful API 开发实战》-- (第4章)-- 读书笔记(下)

    ")] public string Email { get; set; } } } 在 IAuthorRepository 添加用于资源添加的方法 void AddAuthor...Author 的 Action [HttpPost] public IActionResult CreateAuthor(AuthorForCreationDto authorForCreationDto...URL // 第一个参数是要调用 Action 的路由名称 // 第二个参数是包含要调用 Action 所需要参数的匿名对象 // 最后一个参数是代表添加成功后的资源本身...URL,因此还需要为这个 Action 定义一个路由名称 [HttpGet("{authorId}", Name = nameof(GetAuthor))] public ActionResult的修改操作应用到新建的对象上,并将可能出现的错误记录到 ModelStateDictionary 中,使用该方法需要添加引用 dotnet add package Microsoft.AspNetCore.Mvc.NewtonsoftJson

    65420
    领券