zoukankan      html  css  js  c++  java
  • ASP.NET MVC4 WebAPI若干要点

    本文仅仅是将一些可以运行无误的WebAPI示例的要点,记录下来,供自己查阅,也供刚刚学习WebAPI的读者参考之。

    1.默认的API是不会过滤到action这个级别的,如果要过滤到这个级别,必须在路由配置中配置才可以。

    例如,可以这样写:"api/{controller}/{action}/{id}"

    2.配置了后,就可以写多个GET、POST方式到指定的action,但是有意思的是参数类型及绑定:

    如果使用GET请求方式调用WebAPI。调用方式可以写成:http://***/****?id=1或者http://**/***/1这种形式。当然,如果想省略参数名称,直接赋值并映射到action上参数,则你的action中的参数必须要和配置中的名称一致。

    重点说下POST请求方式,很奇怪。自己做了几个示例,都成功,可是一旦到正式项目中,就出现404错误。于是翻来覆去地查找原因。后来发现,什么都不用做,仅仅换一下controller的名称和action的名称就OK了。

    如果用POST请求方式,并且参数为string类型的话,那么,首先必须指定参数的类型为string ,即:Content-type: text/json,不能写成:Content-type: text。

    并且在POST的Body中直接写参数值,而不能指定参数名称。因此,abc:"ddddd",这样的参数书写形式是错误的。必须这样写:“dasdfsd”,才可以。

    如果参数形式是对象,例如: public string Post([FromBody]Student student),则参数必须是这样的形式:{属性键值对},才可以,不能这样写:{student:{属性键值对}}。参数的类型为json,即:Content-type: application/ json,不能写:Content-type: json。

    还有,目前GET、POST形式的参数,似乎只能有一个,若存在多个参数,Web API还不能直接支持,需要用一个参数对象进行包装才行(此条需要再次验证)。

  • 相关阅读:
    Linux 下C语言 指针学习 二 (数组与指针)
    在VMware虚拟机下访问外网的方法
    网站性能优化
    SEO优化
    前端开发组织结构及文件命名
    自适应网页设计的方法
    c#实现microsoft账号登入授权(OAuth 2.0)并获取个人信息
    twitter 授权过程
    应用facebook .net sdk
    第三方账号登入
  • 原文地址:https://www.cnblogs.com/jizhong/p/3175550.html
Copyright © 2011-2022 走看看