首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp net属性路由、POST和PUT对子资源不起作用

Asp.net属性路由是一种在Asp.net MVC框架中使用属性来定义路由的方法。它允许开发人员使用属性来指定控制器和动作的路由规则,而不是传统的基于约定的路由配置。

属性路由可以通过在控制器或动作方法上应用特定的属性来定义。这些属性包括Route、HttpGet、HttpPost等。Route属性用于指定控制器或动作方法的路由规则,而HttpGet和HttpPost等属性用于指定请求方法。

POST和PUT请求对子资源不起作用是因为HTTP协议规定了请求方法的语义。POST方法用于创建新资源,而PUT方法用于更新已存在的资源。子资源是指属于父资源的一部分,通常具有相对于父资源的URL路径。根据RESTful设计原则,使用POST方法创建子资源是合理的,但使用PUT方法更新子资源可能会导致语义混淆。

对于子资源的更新,可以考虑使用其他方法,如PATCH或自定义的方法。PATCH方法用于部分更新资源,而自定义的方法可以根据具体需求来定义。在Asp.net中,可以通过自定义的动作方法来处理这些请求。

以下是一些推荐的腾讯云相关产品和产品介绍链接地址,可以用于支持Asp.net属性路由的开发和部署:

  1. 云服务器(CVM):提供可扩展的虚拟服务器实例,用于托管Asp.net应用程序。 链接:https://cloud.tencent.com/product/cvm
  2. 云数据库SQL Server版(CDB):提供高性能、可扩展的关系型数据库服务,适用于存储应用程序的数据。 链接:https://cloud.tencent.com/product/cdb_sqlserver
  3. 云原生容器服务(TKE):提供高度可扩展的容器化应用程序管理平台,支持部署和运行Asp.net应用程序。 链接:https://cloud.tencent.com/product/tke

请注意,以上仅为腾讯云的一些产品示例,其他云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core 2.0 建立规范的 REST API -- DELETE, UPDATE, PATCH Log

那么问题来了应该使用POST还是PUT呢? PUT请求会发送到现有资源的URI上,如果资源不存在就返回404。 而POST用于创建资源,所以肯定不知道该资源的URI(是指GET的URI)。...POST api/countrycollections,成功返回 201 集合;没创建资源则返回 404 PUT (整体更新): PUT api/countries/{id}, 成功可以返回200,204...由于ASP.NET Core并没有内置的帮助方法可以返回422验证错误信息,所以我们先建立一个类用于返回 422 验证错误信息,它继承于ObjectResult: ?...大部分情况下,PUT的验证可能POST是一样的,但是有时还是不一样的,所以分别写两个ResourceModel对应POSTPUT的优势就体现出来了。...这次就写到这里,下次写一些翻页过滤的东西。 完成后的源码:https://github.com/solenovex/ASP.NET-Core-2.0-RESTful-API-Tutorial

1.9K20
  • Asp.net web api 知多少

    REST是一种架构风格,它将每个服务对待为资源并通过Http协议方法(GET、POSTPUT、DELETE)获取数据。 REST风格的架构包含客户端和服务端。...REST 使用 URI 以及(GET, PUT, POST, DELETE)方法来调用Service。 比REST慢 比SOAP快 Q4. 什么是ASP.NET WEB API? Ans....ASP.NET WEB API 功能 它支持基于约定的CRUD操作因为它支持HTTP 动词 GET, POST, PUT , DELETE。 响应包含http状态码Accept header。...ASP.NET WEB API 路由ASP.NET MVC 路由有什么区别? Ans. ASP.NET MVC 与 ASP.NET WEB API 使用路由来监控传入的请求。...像ASP.NET MVC5那样,可以在WEB API2的controller级别action级别定义特性路由: Controller level routing(控制器级别路由) 在控制器级别定义的特性路由将应用到所有

    4.8K50

    使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由HTTP方法

    ASP.NET Core 3.x 的路由 路由机制会把一个请求的URI映射到一个Controller上面的Action,所以当你发送一个HTTP请求的时候,MVC框架会解析这个请求的URI,并尝试着把它映射到一个...两个路由中间件 在ASP.NET Core 3.x里面,建议使用Endpoint路由来进行设置。但是我们需要先在请求的管道里面添加两个中间件: app.UseRouting()。...这里需要用到属性(attribute)URI模板。 属性(Attribute)。...文字解释: HTTP 的 PUT 方法用于完全替换已存在的一个资源;或者如果标识URI对应的资源不存在,那么就创建一个资源。对于后一种情况,它的效果添加操作是一样的。... POST 一样,PUT的参数也位于请求的body里面。 如果是替换现有资源,那么无需返回任何东西;但如果是创建资源的操作,就应该返回新创建的资源

    1.2K10

    ASP.NET Core 基础知识】--Web API--创建和配置Web API(一)

    示例:[Route("api/[controller]/{id}")] HTTP谓词(HTTP Verb): 路由不仅仅是URI的映射,还与HTTP谓词相关联,例如GET、POSTPUT、DELETE...属性路由(Attribute Routing): ASP.NET Core允许使用属性路由在控制器操作方法上直接定义路由模板。...路由中间件: 在ASP.NET Core中,路由是通过路由中间件来处理的。路由中间件在HTTP请求到达控制器之前,负责解析URI并确定要执行的控制器操作方法。...在ASP.NET Core Web API中,路由规则定义了如何映射HTTP请求的URI到相应的控制器操作方法。...总体而言,通过这个流程,我们搭建了一个基本的ASP.NET Core Web API,涉及了路由、数据模型、验证和数据传输等关键概念。这为进一步的开发扩展提供了基础。

    72900

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

    如果你熟悉Asp.Net MVC,Web API的路由Asp.Net MVC的路由是非常类似的。这主要的区别就是Web API使用的是HTTP方法,而不是URI路径来选择Action。...这种约定只应用于GET、POSTPUTDELETE方法。通过在你的Controller上使用attributes,你可以启用其他的HTTP方法。稍后我们就会看到一个例子。   ...在这个例子中,这个控制器定义了两个GET方法,一个带有id参数的一个不带有id参数的。 另外要注意,POST请求是失败的,因为该控制器未定义“Post…”方法。...、Post、Delete方法之外的HTTP方法,需要使用AcceptVerbs注解属性,它以HTTP方法列表作为参数。...这种风格的路由类似于Asp.Net MVC,而且可能与RPC式的API相接近。(RPC风格不太懂,还没查资料) 你也可以通过使用ActionName注解属性来覆盖动作名。

    1.2K50

    使用DOT语言和GraphvizOnline来可视化你的ASP.NETCore3.0终结点01

    那么,这如何应用于ASP.NET Core应用程序呢? 使用有向图来可视化ASP.NET Core终结点 ASP.NETCore中的终结点路由系统通过创建端点URL段的有向图来有效地工作。...这是ASP.NET Core用于表示终结点图的格式。 对于Razor页面,路由非常简单,所以图非常明显。ASP.NET Core WebAPI应用程序生成了一个更有趣的图表。...在这个图中还有很多事情要做,因为我们现在有了可变的路由参数值(路由模板中的{id},在图中显示为{...})HTTP动词约束(GET/PUT/POST等等) 当我第一次看到这个图表时,我很难理解它。...每个节点(由在ASP.NET Core中的DfaNode中)有几个属性。我们目前感兴趣的属性是: Matches*这是与该节点相关联的Endpoint(S)。...然后,我展示了如何将ASP.NETCore 3.x应用程序中的端点路由表示为有向图。我描述了端点图中不同节点边缘之间的差异,并调整了图形的显示以更好地表示这些差异。

    2.3K30

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

    直接运行命令,如果有结果证明成功了: 2、新建项目 1、File --> Project (记得文件名不要是中文,不然,你懂的) 2、然后选择.Net Core 版本项目类型,我选择相对稳定的ASP.NET...有关详细信息,请参阅路由到控制器操,还有这个Attribute Routing in Web API 2 一般来说,路由名称都是路由url一一对应的,尽量不要重复,不过也很少有人写这个,没啥用,所以一般不要写...它是一个调用asp.net core 相关库的console application. Main方法里面的内容主要是用来配置运行程序的....这是因为我只添加了MVC middleware, 但是它啥也没做, 也没有找到任何可用于处理请求的代码, 所以我们要添加Controller来返回数据/资源等等 四、核心知识点 1、Routing 路由...路由有两种方式: Convention-based (按约定), attribute-based(基于路由属性配置的).

    1.1K20

    或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧

    1、使用小写路由   在我之前的一篇文章中(构建可读性更高的 ASP.NET Core 路由)有提到过,因为 .NET 默认采用 Pascal 的类命名方式,如果采用默认生成的路由,最终构建出的路由地址会存在大小写混在一起的情况...对于耗时比较久的处理,一般用异步处理来完成 204 No Content 此状态可能会出现在 PUTPOST、DELETE 的请求中,一般表示资源存在,但消息体中不会返回任何资源相关的状态或信息 400...404 Not Found 找不到对应的信息 500 Internal Server Error 服务器内部错误   我们知道 HTTP 共有四个谓词方法,分别为 Get、PostPut Delete...,在之前我们可能更多的是使用 Get Post,对于 Put Delete 方法可能并不会使用。...HTTP 谓词方法 解释说明 GET 获取资源信息 POST 提交新的资源信息 PUT 更新已有的资源信息 DELETE 删除资源   例如,对于一个获取所有资源的方法,我们可能会定义接口的默认返回

    1.2K20

    或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧

    1、使用小写路由   在我之前的一篇文章中(构建可读性更高的 ASP.NET Core 路由)有提到过,因为 .NET 默认采用 Pascal 的类命名方式,如果采用默认生成的路由,最终构建出的路由地址会存在大小写混在一起的情况...对于耗时比较久的处理,一般用异步处理来完成 204 No Content 此状态可能会出现在 PUTPOST、DELETE 的请求中,一般表示资源存在,但消息体中不会返回任何资源相关的状态或信息 400...404 Not Found 找不到对应的信息 500 Internal Server Error 服务器内部错误   我们知道 HTTP 共有四个谓词方法,分别为 Get、PostPut Delete...,在之前我们可能更多的是使用 Get Post,对于 Put Delete 方法可能并不会使用。...HTTP 谓词方法 解释说明 GET 获取资源信息 POST 提交新的资源信息 PUT 更新已有的资源信息 DELETE 删除资源   例如,对于一个获取所有资源的方法,我们可能会定义接口的默认返回

    1.4K40

    .NET 6.0 中自定义接口路由

    前言 在本文中,我们将讨论ASP.NET Core中的新路由。我们将了解什么是接口(endpoints)路由,它是如何工作的,它在哪里使用,以及如何创建自己的路由。...只有MVCWeb API端点使用更复杂的模式。Razor页面的路由定义基于实际页面的文件夹和文件结构。 在ASP.NET Core 2.2中引入端点之前,路由只是运用在MVCWeb API中。...还可以将特定的HTTP方法(如GET、POSTPUTDELETE)映射到端点。...但是,端点路由是一种更灵活的输出方式,它应该会在ASP.NET Core 3.0以后的所有版本中进行使用。...我们还可以将已经存在的终止中间件组件转换为路由接口,以配置更加灵活的路由。 总结 ASP.NET Core支持请求处理并向请求提供信息的多种方法。接口路由是一种基于URL请求的方法提供资源

    27120

    Asp.Net Web API(二)

    当然,你也可以创建一个Web API项目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供API的帮助页。...但是根据这个HTTP/1.1协议,当POST请求在创建一个资源时,这个服务端应该回复状态201(Created)。...位置:当服务端创建一个资源时,它应该在响应的Location标头中包含这个资源的URI。       ASP.NET Web API使它容易操作HTTP响应消息。...默认情况下,ASP.NET Web API框架从路由获取简单的参数类型,从请求正文获取复杂的类型。 第五个方法:删除产品,在控制器添加代码如下。...上述测试我们发现我们的路由只是“api/{controler}”就成功返回了GetProducts方法中的数据,这也是ASP.NET Web API与ASP.NET MVC 之间的区别。

    1.9K10

    Asp.net MVC 之 Contorllers(二)

    应用程序路由 按照设计,ASP.NET MVC 应用程序并没有依赖于物理页面。在 ASP.NET MVC 中,用户请求代理资源(acting on resources)。...可以使用 ASP.NET MVC 应用程序中的 REST 方式,ASP.NET MVC 面向他是松耦合的,ASP.NET MVC 承认他的概念,如资源行为,我们可以随意使用自己的语法来表达实现资源行动行为...例如,在一个纯粹的 REST 解决方案,是使用H TTP 谓词来表达行为动作(GET,POSTPUTDELETE)通过URL识别资源。...通过指定动作行为资源可以自定义语法,在 ASP.NET MVC 中默认行为是使用自定义语法的 URLs。该语法是以 URL 模式的集合作为表现形式,也称为路由。...属性路由 NuGet 的 ASP.NET MVC 5 中包含 AttributeRouting 。属性路由是所有有关使用属性直接在控制器的Action方法上定义的路由

    1.9K60

    在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    在该类型中,我们定义了Get、PostPutDelete这4个Action方法,它们分别实现了针对联系人的查询、添加、修改删除操作。....5.0.0\lib\net45\) System.Net.Http.dll 与ASP.NET MVC一样,如果采用Web Host的方式来寄宿Web API,ASP.NET自身的路由系统会成为接收请求的第一道屏障...在将请求递交给ASP.NET Web API自己的消息处理管道之前,路由系统会解析出当前请求访问的目标HttpControllerAction的名称。...如果你了解ASP.NET MVC的路由注册,可能觉得奇怪:注册路由的模板中并没有表示目标Action的路由参数,ASP .NET Web API如何根据请求确定哪个Action方法应该被调用呢?...支持PUTDELETE请求 在定义ContactsController的时候,我们严格按照RESTful Web API关于“使用标准的HTTP方法”的指导方针,分别采用GET、POSTPUTDELETE

    4.6K110

    如果调用ASP.NET Web API不能发送PUTDELETE请求怎么办?

    比如有的浏览器只能发送GETPOST请求,客户端发送的PUT请求也不一定能够被服务器理解。...[本文已经同步到《How ASP.NET Web API Works?》] 我们一般采用“HTTP方法重写”的方式来解决这个问题。...客户端发送的请求只能采用网络允许的HTTP方法(一般来说,GETPOST总是被支持的),但是与资源操作方式相匹配的HTTP方法名称会通过一个请求报头发送给服务器。...Web API应用中定义了如下一个继承自ApiController的DemoController,并在其中定义了4个用于返回自身方法名称的Action方法(Get、PostPutDelete)。...按照ASP.NET Web API默认提供的HTTP方法与Action方法名称之间的映射机制,这4个Action方法支持HTTP方法与自身的方法名称一致。

    1.5K50

    ASP.NET Core 2.0 建立规范的 REST API -- 预备知识

    例如: POST (查询数据信息) http://host/myapi POST (创建数据) http://host/myapi 1级, 资源: 这级里, 每个资源都映射到一个URI上了, 但是HTTP...例如: GET http://host/api/authors 200 Ok (返回了authors 驱动应用程序的超链接) 介绍ASP.NET Core 略....路由ASP.NET Core里,使用路由中间件RouterMiddleware来处理路由. 想要使用路由, 同样也是遵循 Add/Use 这个模式. ...实体验证 ASP.NET Core内置的实体验证是通过验证属性标签来实现的,大多数情况下这样会很方便。 例如: ?...中间件一样,ASP.NET Core MVC的过滤器也可以在请求管道的特定阶段的之前或之后执行某些代码。过滤器还可以有子管道,子管道里面包含着其它过滤器。

    1.7K00
    领券