我正在尝试使用HttpDelete对象来调用Web服务的delete方法.Web服务的代码从消息的正文中解析JSON.但是,我无法理解如何向HttpDelete对象添加主体.有没有办法做到这一点?
使用HttpPut和HttpPost,我调用setEntity方法并传入我的JSON.HttpDelete似乎没有任何此类方法.
如果无法为HttpDelete对象设置主体,请将我链接到使用超类HttpDelete的资源,以便我可以设置方法(删除)并设置主体.我知道这不太理想,但此时我无法改变网络服务.
我一直在研究微软的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等方法适用于可能导致服务器副作用的操作
Rfc2616列出了除GET和POST之外的许多方法,比如DELETE,PUT等.但是,html格式的方法字段似乎只允许指定GET或POST.
是否可以在使用非GET或POST的请求方法的html页面中创建链接或表单?
我用Fetch得到了GET和POST方法之外的东西.但我找不到任何好的DELETE和PUT示例.
所以,我问你.你能举一个带有fetch的DELETE和PUT方法的好例子吗?并解释一下.
我是网络服务的新手.我正在处理项目中的测试API.在以前的版本中,公司使用了GET和POST方法,但没有使用PUT和DELETE方法.我需要HTTP DELETE方法的帮助.我浏览了各种网站,在那里我找到了GET和POST方法的示例代码片段,但不是DELETE和PUT方法(为什么?).
任何人都可以给我一个RESTful HTTP DELETE方法的示例代码片段(C#)并解释如何调用DELETE请求?
我试图使用RequestMethod.PUT
和RequestMethod.DELETE
Spring 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) 我正在尝试开发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知识可能仅限于了解它们是如何做到的.
我有一个像这样的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)
你有什么建议吗?
有没有办法从网站发送DELETE请求,使用xmlhttprequest
或类似的东西?
我有一个我发布的路线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删除后的重定向我错过了什么?谢谢.
http-delete ×10
http ×3
http-put ×2
javascript ×2
rest ×2
android ×1
asp.net-mvc ×1
c# ×1
curl ×1
fetch ×1
html5 ×1
http-post ×1
http-verbs ×1
httpclient ×1
httprequest ×1
hyperlink ×1
reactjs ×1
redirect ×1
rfc2616 ×1
routes ×1
ruby ×1
schema ×1
sinatra ×1
solr ×1
spring ×1
spring-mvc ×1