标签: http-delete

HttpDelete与身体

我正在尝试使用HttpDelete对象来调用Web服务的delete方法.Web服务的代码从消息的正文中解析JSON.但是,我无法理解如何向HttpDelete对象添加主体.有没有办法做到这一点?

使用HttpPut和HttpPost,我调用setEntity方法并传入我的JSON.HttpDelete似乎没有任何此类方法.

如果无法为HttpDelete对象设置主体,请将我链接到使用超类HttpDelete的资源,以便我可以设置方法(删除)并设置主体.我知道这不太理想,但此时我无法改变网络服务.

android httpclient webservice-client http-delete

40
推荐指数
2
解决办法
2万
查看次数

为什么要使用HTTP POST或DELETE而不是GET删除?

我一直在研究微软的ASP.NET MVC教程,最后到了这个页面

http://www.asp.net/learn/mvc/tutorial-32-cs.aspx

以下声明是针对此页面的底部进行的:

通常,在调用修改Web应用程序状态的操作时,您不希望执行HTTP GET操作.执行删除时,您希望执行HTTP POST,或者更好的是,执行HTTP DELETE操作.

这是真的?任何人都能对这一陈述背后的理由提供更详细的解释吗?

编辑

维基百科声明如下:

某些方法(例如,HEAD,GET,OPTIONS和TRACE)被定义为安全,这意味着它们仅用于信息检索,不应更改服务器的状态.

相比之下,POST,PUT和DELETE等方法适用于可能导致服务器副作用的操作

asp.net-mvc http http-delete

32
推荐指数
5
解决办法
2万
查看次数

如何在链接或表单中指定DELETE方法?

Rfc2616列出了除GET和POST之外的许多方法,比如DELETE,PUT等.但是,html格式的方法字段似乎只允许指定GET或POST.

是否可以在使用非GET或POST的请求方法的html页面中创建链接或表单?

html5 hyperlink http-verbs rfc2616 http-delete

32
推荐指数
3
解决办法
6万
查看次数

React:获取DELETE和PUT请求

我用Fetch得到了GET和POST方法之外的东西.但我找不到任何好的DELETE和PUT示例.

所以,我问你.你能举一个带有fetch的DELETE和PUT方法的好例子吗?并解释一下.

javascript http-put fetch http-delete reactjs

23
推荐指数
6
解决办法
6万
查看次数

.NET中的RESTful Http DELETE方法

我是网络服务的新手.我正在处理项目中的测试API.在以前的版本中,公司使用了GET和POST方法,但没有使用PUT和DELETE方法.我需要HTTP DELETE方法的帮助.我浏览了各种网站,在那里我找到了GET和POST方法的示例代码片段,但不是DELETE和PUT方法(为什么?).

任何人都可以给我一个RESTful HTTP DELETE方法的示例代码片段(C#)并解释如何调用DELETE请求?

c# rest http http-delete

22
推荐指数
1
解决办法
4万
查看次数

在Spring MVC中使用PUT和DELETE方法

我试图使用RequestMethod.PUTRequestMethod.DELETESpring MVC中控制器(3.0.2版).在Spring控制器类中有三个映射方法的方法如下(分别为PUT,GET和POST,仅用于演示目的).

@RequestMapping(method = {RequestMethod.PUT}, value = {"admin_side/Temp"}, headers = {"content-type=multipart/form-data"})
public String update(@ModelAttribute("tempBean") TempBean tempBean, BindingResult error, Map model, HttpServletRequest request, HttpServletResponse response) {
    if (ServletFileUpload.isMultipartContent(request)) {
        System.out.println("true");
    }

    System.out.println("Request method PUT");
    return "admin_side/Temp";
}

@RequestMapping(method = {RequestMethod.GET}, value = {"admin_side/Temp"})
public String showForm(@ModelAttribute("tempBean") TempBean tempBean, BindingResult error, Map model, HttpServletRequest request, HttpServletResponse response) {
    System.out.println("Request method GET");
    return "admin_side/Temp";
}

@RequestMapping(method = {RequestMethod.POST}, value = {"admin_side/Temp"})
public String onSubmit(@ModelAttribute("tempBean") TempBean tempBean, BindingResult error, Map …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc http-post http-put http-delete

22
推荐指数
1
解决办法
4万
查看次数

从Sinatra发送DELETE请求

我正在尝试开发RESTful Sinatra应用程序.现在,我知道如何用类似的方式响应删除请求

delete '/user/:id' do |id|
   #do something in the model
end
Run Code Online (Sandbox Code Playgroud)

我感兴趣的是如何执行该方法.我不能拥有DELETE而不是GET的链接,是吗?

到目前为止我找到的唯一解决方案是通过jQuery发送DELETE请求:如何在jQuery中发送PUT/DELETE请求?

我尝试在github上查看不同的RESTful Sinatra项目,但我的Ruby知识可能仅限于了解它们是如何做到的.

ruby rest httprequest sinatra http-delete

19
推荐指数
3
解决办法
1万
查看次数

如何通过curl查询删除SOLR索引数据?

我有一个像这样的SOLR schema.xml:

<field name="cartype" type="lowercase" indexed="true" stored="true"/>
<field name="color" type="lowercase" indexed="true" stored="true"/>
Run Code Online (Sandbox Code Playgroud)

我想用curl命令从SOLR数据库中删除"blue"和"stationwagon"标记的记录.

但我没有用以下命令做到这一点:

curl http://46.231.77.98:7979/solr/update/?commit=true -H "Content-Type: text/xml" -d "<delete>(cartype:stationwagon)AND(color:blue)</delete>"
Run Code Online (Sandbox Code Playgroud)

你有什么建议吗?

schema curl solr http-delete

19
推荐指数
2
解决办法
3万
查看次数

如何从浏览器发送http删除请求?

有没有办法从网站发送DELETE请求,使用xmlhttprequest或类似的东西?

javascript http http-delete

18
推荐指数
4
解决办法
3万
查看次数

使用DELETE而不是GET删除后重定向Rails

我有一个我发布的路线DELETE:

user_authorization_path(@user, authorization)
Run Code Online (Sandbox Code Playgroud)

它命中我的控制器,控制器删除资源,然后发出重定向:

redirect_to edit_user_path(params[:user_id])
Run Code Online (Sandbox Code Playgroud)

结果是重定向路由错误:

ActionController::RoutingError (No route matches [DELETE] "/users/1/edit")
Run Code Online (Sandbox Code Playgroud)

我可以在日志中看到rails正在做正确的事情,直到重定向,它试图发出另一个DELETE而不是GET:

Started DELETE "/users/1/authorizations/12"...
...
Redirected to http://localhost:3000/users/1/edit
Completed 302 Found in 8ms (ActiveRecord: 0.2ms)

Started DELETE "/users/1/edit"...

ActionController::RoutingError (No route matches [DELETE] "/users/1/edit")
Run Code Online (Sandbox Code Playgroud)

Chrome调试程序会显示初始请求:

Request URL:http://localhost:3000/users/1/authorizations/12
Request Method:DELETE
Status Code:302 Found
Run Code Online (Sandbox Code Playgroud)

以及它的重定向:

Request URL:http://localhost:3000/users/1/edit
Request Method:GET
Status Code:404 Not Found
Run Code Online (Sandbox Code Playgroud)

所以这似乎是浏览器正确地遵循重定向,但是rails忽略了GET重定向调用,而是DELETE在404中使用了哪个结果(因为DELETE该资源不支持 - 这无论如何都是错误的).

如果我只是在重定向的URL上执行'GET',它就可以正常工作.

关于Rails删除后的重定向我错过了什么?谢谢.

redirect routes ruby-on-rails http-delete

18
推荐指数
1
解决办法
4893
查看次数