webapi中get和post区别_webapi post和get接口 - CSDN
精华内容
参与话题
  • web api 中get和post一些经验总结

    千次阅读 2016-06-16 09:57:44
    百度提示 常用的web api场景是一个接口多平台调用,例如给安卓调用 给ios调用 给平板调用 主要为移动互联网提供服务, web api虽然可以脱离iis自寄宿 但目前大多还是托管在IIS上的 ...件夹下面有个WebApi
            
    百度提示

    常用的web api场景是一个接口多平台调用,例如给安卓调用 给ios调用 给平板调用 主要为移动互联网提供服务,

    web api虽然可以脱离iis自寄宿 但目前大多还是托管在IIS上的

    会提示跨域调用错误 解决办法好几个 我采用cors(Cross Origin Resource Sharing)的方式      在app_start文

    件夹下面有个WebApiconfig.cs文件,在里面加上2句代码就 可以了

    var cors = new EnableCorsAttribute("*", "*", "*");//第一个参数是指定的域(www.baidu.com 多个域可以

    以","分隔)
    config.EnableCors(cors);



    post 传入值之后   后台接参,然后执行方法   自定义路由---用于方法重载,忽略方法名  自定义url

    表单get提交和一般的get提交有什么区别  如果加上表单[form],则可以在浏览器中直接显示get提交的数据

    默认web api 中get 方法是带getXXXX或[HttpGet]并且参数是空的执行,如果出现两个为空的则会出错,说明都是

    get请求则空优先(带参数和空的比较) 和方法放什么地方无关

    空的是没问题,带参数的怎么办? 得加[FromBody]  2.当加上“ [HttpGet][HttpPost]”这两个的时候,则可以同

    时Get Post请求
            //为什么获取不到前端传过来的数据,前端的数据怎么写
           public string OLK([FromBody]string k)
            {
                return  k;
                
            }
    而AJAX则可以获得从后端传过来的数据,同理Form表单也可以获得从后端传过来的数据,只不过是获得的数据不是

    与前端输入的有联系

    在表单里使用”post”和”get”有什么区别

    在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两

    点不同:

    1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。

    2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来

    访问提交的内容。

    仔细研究下面的代码。你可以运行之来感受一下:

    代码

    以下为引用的内容:

    <!--两个Form只有Method属性不同-->

    <FORM ACTION=“getpost.php” METHOD=“get”>

    <INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>

    <INPUT TYPE=“submit” VALUE=“Method=Get”></INPUT>

    </FORM>
    <BR>

    <FORM ACTION=“getpost.php” METHOD=“post”>

    <INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>

    <INPUT TYPE=“submit” VALUE=“Method=Post”></INPUT>

    </FORM>

    <BR>

    <BR>

    <? If Request.QueryString(“Text”) <> ““ Then ?>

    通过get方法传递来的字符串是: “<B><?= Request.QueryString(“Text”) ?></B>“<BR>

    <? End If ?>

    <? If Request.Form(“Text”) <> ““ Then ?>

    通过Post方法传递来的字符串是: “<B><?= Request.Form(“Text”) ?></B>“<BR>

    <? End If ?>

    说明

    把上面的代码保存为getpost.asp,然后运行,首先测试post方法,这时候,浏览器的url并没有什么变化,返回的

    结果是:

    通过Post方法传递来的字符串是: "Hello World"

    然后测试用get方法提交,请注意,浏览器的url变成了:

    http://localhost/general/form/getpost.php?Text=Hello+World

    而返回的结果是:

    通过get方法传递来的字符串是: "Hello World"

    最后再通过post方法提交,浏览器的url还是:

    http://localhost/general/form/getpost.php?Text=Hello+World

    而返回的结果变成:

    通过get方法传递来的字符串是: "Hello World"

    通过Post方法传递来的字符串是: "Hello World"

    提示

    通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码

    将出现在URL上。如果:

    1、 登陆页面可以被浏览器缓存;

    2、 其他人可以访问客户的这台机器。

    那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重

    的安全性问题。
    建议
    在Form中,建议使用post方法。 

    展开全文
  • WebAPI GET和POST请求的几种方式

    千次阅读 2018-03-09 18:32:56
    GET请求1.无参数get请求 一般get请求有两种写法,一种是$.get() 一种是$.ajax({type:"get"}),我个人比较喜欢用后者。下面例子主要是get无参数请求,获取人员列表并将数据返回到前台,并将返回的json...

    GET请求

    1.无参数get请求

     一般get请求有两种写法,一种是$.get()   一种是$.ajax({type:"get"}),我个人比较喜欢用后者。

    下面例子主要是get无参数请求,获取人员列表并将数据返回到前台,并将返回的json数据转换成字符串弹出,以便知道是否请求成功,并且返回的数据是否正确

    复制代码
     1    $.ajax({
     2             url: "/api/Person/getList",
     3             type: "get",
     4             success: function (data) {
     5                 alert(JSON.stringify(data));
     6                 alert("成功");
     7             },
     8             error: function () {
     9                 alert("错误");
    10             }
    11         });
    复制代码

    后台代码

    复制代码
     1  public class PersonController : ApiController
     2     {
     3       
     4         public List<Person> getList()
     5         {
     6             var PersonList = new List<Person>(){
     7                 new Person{Name="张和",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"},
     8                 new Person{Name="张丽",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"},
     9                 new Person{Name="张春雷",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"}
    10             };
    11             return PersonList;
    12         }
    13     }
    复制代码

    2.多个参数的Get请求,参数格式:data:{},例如 一个参数的get请求是data:{"Name":"张丽"},两个参数:data:{"Name":"张丽","Sex":"女"},多个参数只是在{}里加入多个参数而已。

    复制代码
     1   $.ajax({
     2             url: "/api/Person/GetPerson",
     3             type: "get",
     4             data:{"Name":"张丽","Sex":"女"},
     5             success: function (data) {
     6                 alert(data.Name+" "+data.Duty+"  "+data.CompanyName);
     7             },
     8             error: function () {
     9                 alert("错误");
    10             }
    11         });
    复制代码

    后台代码

    复制代码
     1    public Person GetPerson(string Name,string Sex)
     2         {
     3             var PersonList = new List<Person>(){
     4                 new Person{Name="张和",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"},
     5                 new Person{Name="张丽",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"},
     6                 new Person{Name="张春雷",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"}
     7             };
     8             var p = PersonList.FirstOrDefault(f => f.Name == Name&&f.Sex==Sex);
     9             return p;
    10         }
    复制代码

    最终效果

     

     

    POST请求

    1.无参数的POST请求

          无参数的POST请求和GET请求是一样的,只不过是ajax里的type:"get"改成type:"post"而已,后台函数要加 [HttpPost]标签,主要是标记该函数是post请求函数,如果get请求是请求不进去该函数的。

    2.一个参数的POST请求

        一个参数的post请求和GET请求的方式不一样,后台函数的参数必须用[FromBody]标记,这样才能访问到该函数,如果不加[FromBody] , ASP.NET Web API能够正确的识别我们的UserController控制器处理Post /api/Person ,但却不能找到一个可以接受的方法来处理请求。那么有人就说了后台参数加了[FromBody] ,js如下是不是就可以请求成功哪

     

    复制代码
     1  $.ajax({
     2             url: "/api/Person/Post_Person",
     3             type: "post",
     4             data:{"Name":"张丽"},
     5             success: function (data) {
     6                 alert("成功");
     7                 alert(data);
     8                 alert(data.Name + " "  + data.CompanyName);
     9             },
    10             error: function () {
    11                 alert("错误");
    12             }
    13         });
    复制代码

     

    答案是失败的,确切的说是可以访问到PersonControler里的Post_Person方法的,但是Post_Person函数的参数是获取不到前台ajax传递过来的值得,为什么呢?是因为Web API 要求请求传递的 [FromBody] 参数,是有一个特定的格式,才能被正确的获取到。而这种特定的格式并不是我们常见的 key=value 的键值对形式。Web API 的模型绑定器希望找到 [FromBody] 里没有键名的值,也就是说, 不是 key=value ,而是 =value 。

    所以将data:{"Name":"张丽"}改成data:{"":"张丽"} 这样后台函数才可以正确接收到传递过来的参数值

    3.多个参数的POST请求

       有人会认为多个参数的Post请求,就是后台函数加多个带[FromBody]标记的参数即可,如果你是这样想的,那么你错了。请一定要记住多个参数POST请求,

    [FromBody] 修饰的参数只能有一个 。我们需要对传递的多个参数进行封装才行。   

     

     

    复制代码
     1 var Person = {
     2         Name: "张丽",
     3         Sex: "女",
     4         Duty: "ddd",
     5     }
     6     
     7         $.ajax({
     8             url: "/api/Person/Post_PersonObj",
     9             type: "post",
    10             data: Person,
    11             success: function (data) {
    12                 alert("成功");
    13                 alert(data);
    14                 alert(data.Name + " " + data.CompanyName);
    15             },
    16             error: function (data) {
    17                 alert(data.responseText);
    18             }
    19         });
    复制代码

     

    后台代码 

    复制代码
     1 [HttpPost]
     2        public Person Post_PersonObj([FromBody]Person per)
     3         {
     4             var PersonList = new List<Person>(){
     5                 new Person{Name="张和",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"},
     6                 new Person{Name="张丽",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"},
     7                 new Person{Name="张春雷",Sex="",Duty="工程师",CompanyName="北京XX科技有限公司"}
     8             };
     9             var p = PersonList.FirstOrDefault(f => f.Name == per.Name&&f.Sex==per.Sex);
    10             return p;
    11         }
    
    
    
    
    整个例子的源代码下载地址:http://pan.baidu.com/s/1mgooA8K
    
    
    复制代码

     https://www.cnblogs.com/liuchunhe/p/4378479.html

    展开全文
  • webapi同时支持get和post请求

    千次阅读 2016-11-16 10:25:42
    [AcceptVerbs("Get", "Post")] //用AcceptVerbs标识即可 public List GetSalesRankByHqewIndex() { List resultList = new List(); DMSParam dmsParam = new DMSParam();
            [AcceptVerbs("Get", "Post")]     //用AcceptVerbs标识即可
            public List<PUB_HqewIndexResult> GetSalesRankByHqewIndex()
            {
                List<PUB_HqewIndexResult> resultList = new List<PUB_HqewIndexResult>();
                DMSParam dmsParam = new DMSParam();
                List<PUB_Stock> stockList = new List<PUB_Stock>();
                IResult stockResult = ExecuteDmsParam(dmsParam, new PUB_HqewIndex(), "PUB.PUB_HqewIndexBLL", "GetSalesRankByHqewIndex");
                if (stockResult.Complete == DMSComplete.Succeed)
                {
                    if (stockResult != null && stockResult.Result != null)
                    {
                        resultList = (List<PUB_HqewIndexResult>)stockResult.Result;
                    }
                }
                return resultList;
            }

    展开全文
  • webapi中put、getpost、delete的用法

    千次阅读 2018-03-30 19:09:31
  • 1.新建一个webapi项目 2.新建一个 "webapi 控制器类" 3. 修改 Web API 路由 routeTemplate: "api/{controller}/{id}" 修改为: routeTemplate: "api/{controller}/{action}/{id}" webapi控制器代码 public...
  • 关于WebApi接口参数的详细说明,以及Post,Put,Get,Delete的区别及原码示例, 作者昵称:懒得安分 博主首页 推荐文章: WebApi 接口参数不再困惑:传参详解 WebApi 接口返回值不困惑:返回值类型详解 WebApi ...
  • 在stackoverflow 上有的,是我的原创文章:
  • webapipost和get请求总结

    千次阅读 2017-03-21 21:58:19
    1、get请求,传输基础类型数据[HttpGet] public string GetTestData(int id,string name) { return id+name; } $.ajax({ type:"get", url:"http://xxxx/api/Test/GetTestData", data: { id: 1, name:
  • Web Api简单使用方法

    千次阅读 2018-04-07 14:54:41
    1. 简单介绍什么是Web ApiREST属于一种设计风格,REST POST(新增数据),GET(取得数据),PUT(更新数据),DELETE(删除数据)来进行数据库的增删改查,而如果开发人员的应用程式符合REST原则,则它的服务为...
  • 我希望我的Api无论发生什么,都会返回我定义的模型Result.无论是出现异常,还是其他任何问题。 比如上面的“请求的资源不支持 http 方法“POST”。 我可以在DelegatingHandler拦截到,但是这样的话我必须自己判断...
  • webapi请求参数长度过大解决方法

    千次阅读 2018-02-11 14:57:07
    【.net framework】【.net core】 ///配置文件大小限制 services.Configure&lt;FormOptions&gt;(options =&gt; { options.MultipartBodyLengthLimit = 60000000; ...
  • ASP.NET MVC Web API 定义 Post 方法,HttpClient 使用 JsonConvert.SerializeObject 传参进行调用,比如 Web Api 定义 AddProduct 方法,参数为 Product 的各类信息(id、name等),然后操作完之后返回处理信息。...
  • Postman访问WebapiGet/Post/Put/Delte请求

    千次阅读 2018-07-26 15:04:46
    ASP.NET MVC WebApi 定义Get/Post/Put/Delete方法。使用Postman工具调用相应的方法。根据方法的特性不同、参数的特性不同,所访问的方式也不同。 问题分析: 创建一个新的WebApi的项目。控制器自动生成的代码如下...
  • Mvc4WebApi的使用方式

    千次阅读 2017-05-10 16:20:35
    一:简单介绍什么是Web apiREST属于一种设计风格,REST POST(新增数据),GET(取得数据),PUT(更新数据),DELETE(删除数据)来进行数据库的增删改查,而如果开发人员的应用程式符合REST原则,则它的服务为...
  • Web API学习基础一

    千次阅读 2015-06-24 21:33:01
    开发环境VS2012、.NET 4.5 创建项目VS2012->文件->...在App_Start,RouteConfig.cs文件配置MVC的路由规则,WebApiConfig.cs配置WebApi的路由规则 在Controllers文件夹编写控制器,可以编写MVC控制器也可以编写W
  • 备注:如果你对ASP.NET MVC很熟悉,你会发现Web API路由MVC路由非常相似。主要区别Web API使用HTTP方法来选择动作(action),而不是URI路径。你也可以在Web API中使用MVC风格的路由。这篇文章不需要ASP.NET MVC...
  • Postman webapi接口测试(二)

    千次阅读 2018-06-26 13:09:55
    上一篇文章我们了解了WebAPI的搭建以及方法的调用传参,本篇文章主要教大家如何进行接口调试。1.首先下载postman安装包,下载地址:(在我的资源里 暂时没有审核通过 通过了改链接 要是一直不通过你们就到官网去下一...
  • WebAPI请求——js调用

    万次阅读 2016-04-19 10:32:24
    http://www.cnblogs.com/babycool/p/3922738.html ...ASP.NET MVC学习系列(二)-WebAPI请求 ... MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API要如何来处理。 这里我
  • 前后端分离:WebAPI+Vue开发——远程数据请求axios 前后端分离:WebAPI+Vue开发——跨域设置 前后端分离:WebAPI+Vue开发——身份认证 本文没有Vue语法内容(Vue中文文档),只记录本人开发遇到的难点 远程...
1 2 3 4 5 ... 20
收藏数 142,790
精华内容 57,116
关键字:

webapi中get和post区别