问题标签 [httpverbs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
387 浏览

php - PHP IIS7 VERB PUT 获取数据

我有另一个问题类似于我在这里提出的问题: JS Ajax calls PHP and getting ajax call data

但是这次我处理的是 PUT 动词。我正在阅读以获取 php 中的数据应该使用以下内容:

资源:http ://www.lornajane.net/posts/2008/accessing-incoming-put-data-from-php

但是对于put,这似乎不起作用。我觉得它可能与 IIS 7 可能会删除数据有关?.. 我安装了 webDav 并且必须删除它才能让 put 动词得到解决想知道 IIS 中是否还有其他东西可能会阻止数据在服务器级别解析?

我的 ajax 请求如下所示

0 投票
3 回答
5042 浏览

c# - 如何让 .net c# webAPI PUT 和 DELETE 方法/动词工作

-设置

IIS 7.5 和 Visual Studio 2012 4.5

我已经在我的机器上创建了第一个 webAPI 项目。使用下面的代码,我可以将动词的类型更改为 POST 或 GET,并且对服务器的请求和对客户端的响应都可以正常工作。

由于代码如下,我不断收到 405 错误代码或 404 not found 错误代码。

我的问题是我需要添加到 .config 文件中的某种类型的设置,或者我需要在 iis7.5 Web 服务器上进行的设置,以便我可以让它工作?

我一遍又一遍地用谷歌搜索,找不到这个问题的答案。

在我客户端上的 JavaScript 文件中。

在 c# 类的控制器中

0 投票
1 回答
257 浏览

ruby-on-rails - Can I reuse part of a controller action across all http verb/method actions in RoR?

Imagine a resource: /users/14/notifications. It implements several HTTP verbs/methods: GET, GET/edit, POST, DELETE.

All 4 actions share a small part of logic: retrieve all notifications, create some hash for easy access, fetch some specific user access from somewhere else to do something special etc. Just a few loc (let's say 7).

How can I reuse those 7 loc to keep the logic DRY? I've heard about Rails' ANY verb, but I have no idea how to use it. Also no idea how to use its result (a few vars) in the 4 actual actions.

I would expect something like:

As you might have noticed, I'm not a pro Ruby/Railser. (The syntax might even be wrong.) I am very curious though.

How would it actually work in RoR?

0 投票
2 回答
4460 浏览

asp.net-mvc - 我将如何编写一个 ActionFilter 来确保每个 Post 操作都使用 AntiForgeryTokens?

我想AntiForgeryTokens在每个 HttpPost 操作上使用一个 ActionFilter,该控制器位于一个名为ControllerBase该控制器的控制器中,每个其他控制器都继承自该控制器。

我想通过创建一个继承自它的 ActionFilter 来做到这一点,ValidateAntiForgeryToken它接受一个参数来告诉它要将自身应用于哪些 HTTP 动词。然后我想应用该过滤器 ControllerBase以确保AntiForgeryToken检查整个站点上的每个 POST 操作。

我正在考虑使用这个解决方案,但是

  • AuthorizationContext Constructor (ControllerContext)是一个过时的构造函数,我不确定如何使用推荐的AuthorizationContext(ControllerContext controllerContext, ActionDescriptor actionDescriptor).

  • 默认情况下,它似乎没有使用 AntiForgeryToken,因为我收到以下错误:A required anti-forgery token was not supplied or was invalid在每次发布操作之后。

[HttpPost]我应该如何重写我的 ActionFilter 以满足当前的非过时标准并在每个动词上正确使用防伪标记?

我自己是否必须在每种形式中都包含防伪令牌(我想我会这样做)?(而不是自动生成 - 不要笑,我很好奇) 更新:正如评论中指出的那样;是的,这必须对每个表格进行。

这是我的 ControllerBase 中的代码供参考:

0 投票
1 回答
831 浏览

jmeter - Jmeter方法“补丁”

我正在对 API 进行负载测试,其中我们使用的动词之一是PATCH。在 JMeter 中,当我创建我的 HTTP 请求时,我没有列出补丁作为方法。谁能告诉我 JMeter 是否支持 PATCH?

提前致谢

0 投票
1 回答
8895 浏览

api - 在 REST API 中使用 LINK 和 UNLINK HTTP 动词

我目前正在实现一个 REST API。我有一个资源模型,其中包含各个资源之间的大量关系。

我的问题是:如何以 RESTful 方式将两个现有资源相互链接(建立关系)?

我遇到的一种解决方案是使用 LINK 和 UNLINK HTTP 动词。API 使用者将能够使用 LINK 和以下 URI 链接两个资源:/resource1/:id1/resource2/:id2。

这个解决方案的问题是缺乏对 LINK 和 UNLINK 动词的支持。http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.htmlhttp://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol都没有提到动词,它们似乎在很大程度上被“遗忘”了。但是,原始 RFC 2068 确实声明它们存在。

我真的很喜欢这个解决方案。但是,由于缺乏对 LINK/UNLINK 的支持,恐怕许多 API 消费者/客户端将无法处理该解决方案。这是一个可接受的解决方案,还是有更好和/或更优雅的解决方案来链接 RESTful API 中的现有资源?

谢谢

0 投票
2 回答
594 浏览

http - Rest API - 创建好友集合

用户基本上可以将其他用户添加为朋友。所以,我不是在创建另一个用户资源,而是链接两个资源。

问题

  1. 处理这个问题的最佳策略是什么?
  2. 这种情况下合适的动词是什么?

听说有一个LINK动词,好像很合适。

而且我还读到,我可以使用PATCH动词来对资源应用补丁。
如果是这样,我可以这样做吗

0 投票
0 回答
631 浏览

iis-7.5 - 错误 405 - asmx 服务和 WCF Rest 服务不允许用于访问此页面的 HTTP 谓词

我们在http://mobile.example.com部署了 Web 服务。此位置同时具有 .asmx 服务和 WCF REST 服务,并且这两个服务在过去很多天都运行良好。从昨天开始,每当我们使用动词 PUT、POST 和 DELETE 发出请求时,都会收到错误消息“不允许用于访问此页面的 HTTP 动词” 。我们搜索了很多,阅读了很多论坛并尝试了很多东西。许多指向 WedDAV 模块,我什至禁用了该模块,即使现在我们仍然遇到问题。急需帮助。

编辑: DirectoryListingModule 抛出错误 405

0 投票
1 回答
532 浏览

c# - 在 ServiceStack 中使用 IRestClient 发出 HEAD 请求

上下文:我构建了一个处理“配置文件”对象的 REST 服务。每个配置文件都需要有一个唯一的名称。客户端出于验证目的需要执行的操作之一是检查以确保具有给定名称的配置文件不存在。

与其构建 RPC 样式的“ProfileExists”方法,我更愿意遵循 REST 设计原则并向具有给定名称的配置文件发出 HEAD 请求,然后根据配置文件是否已经存在返回适当的响应代码( 200、404),不需要响应体。

按照较新的 ServiceStack API 的约定,我设置了一个方法来接受 Head 请求,并使用 Fiddler 成功测试了这两种情况:

问题出在客户端。通过 ServiceStack 的 IRestClient 接口发出 HEAD 请求被证明是困难的。虽然有 Get、Post、Put 和 Delete 方法,但没有 Head 方法。从那里我假设我可以使用 CustomMethod 明确指定 HEAD 动词作为参数:

但是,在验证 HttpVerb 参数时,底层实现 ( ServiceClientBase ) 会引发异常:

集合HttpMethods.AllVerbs包含 RFC 2616 和更多的所有常用动词。除非此行为是错误,否则为任何已知 HTTP 动词引发异常表明作者对 CustomMethod 的意图不包括能够发出对已知 HTTP 动词的请求。

这引出了我的问题:如何在 ServiceStack 的客户端发出 HEAD 请求?

0 投票
1 回答
61 浏览

c# - 使用哪个动词向服务器发送“ResetCache”命令

我正在将 WCF 应用程序迁移到 WEB.API 应用程序。

WCF 中实现的调用之一是“ResetCache”。

出于性能原因,在服务器上维护了一个简单的缓存(没有缓存,每次传入呼叫都必须从数据库中获取数据)。因此,在第一次获取数据后,数据存储在缓存中......工作正常。

有时,在进行更改后,需要刷新缓存。完成的一种方法是(出于测试目的)使用对服务器的调用... RefreshState。在当前的 WCF 解决方案中,它使用 POST。

使用 RESTfull WEB.API,我无法确定使用哪个动词或 url 来激活服务器上的此操作。这不是一个获取,它不是一个帖子,......等等。

有人对此有任何想法吗?