ncu*_*ica 3 ajax jquery asp.net-web-api
为什么在WebApi框架中使用HttpGet而不是HttpPost?
我很了解Post或Get类型之间的区别,一种是通过url,而另一种则不是(作为基本理解)
但是我也知道主要的区别(可以在服务器上进行编辑)是Post对发送到服务器的数据大小没有任何限制,而GET类型的限制是
(2000个字符(IE的限制。)) GET请求的长度是否有限制?
当我有时编码大量数据时,我很沮丧地无法通过GET发送超出限制数据大小的数据,并且发现服务器发送错误和错误,这是因为大小,所以我必须更改POST类型以支持类型。
namespace somenamespace.Controllers
{
public class someController : ApiController
{
[HttpPost] //<--- change all
public somenamespace.Class getSomething(string key1, string key2) {
return new someblabla.Models.Class.Class(key1,key2).getSomething();
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么,为什么会是一个很好的理由,当有人想使用GET而不是POST,而POST始终与所有任何限制工作。
我只在谈论WEB API .net。我知道您是否想通过url字符串(逐页发送)或类似GET的请求变量和信息,可以更轻松地实现。
最终,您总是可以做任何您想做的事,但是遵循一些标准是一个好习惯-不仅是出于标准的考虑,而且是使代码可预测且易于使用。
当您调用您的API时,RESTful的人们会假设,例如:
任何GET请求都只会获取数据-不修改,不删除,不创建
任何POST请求都会创建一个资源
PUT请求将更新资源,您可以根据需要执行多次,而不会产生副作用
DELETE会删除资源
这使每个人的生活更加轻松,并且就像您和客户之间的合同。
我强烈建议您阅读有关RESTful API设计的资源-您将了解人们遵循约定的原因:
http://info.apigee.com/Portals/62317/docs/web%20api.pdf
| 归档时间: |
|
| 查看次数: |
1594 次 |
| 最近记录: |