zoukankan      html  css  js  c++  java
  • Web api

    1.概念

    REST是设计风格而不是标准。

    webapi有自己的路由。

    webservice和wcf的协议都是soap协议,数据的序列化和反序列化都是soap的格式。而webapi是Json的数据传递

    webapi的优点有哪些?

    (1)非常适合做http的请求,前端与webapi交互特别方便

    (2)webapi更轻量因为使用的json数据来传递。

    (3)webapi很多时候是给前端提供数据的,因为webapi跟控制器关联的没那么紧密(若是没webapi,用mvc的模式,那么页面直接从对应的控制器获取数据),这样传递数据webapi对,手机,app,页面都可以通过同一个数据源提供数据,会比较灵活一些。(会跨域)

     2.配置路由

    默认的路由没有方法名(action),需要添加一个配置

    知识点:路由器注册顺序是由上往下的,会先从上面进行匹配。

                   路由器的名称不能重名,否则报错【DefaultApi2/DefaultApi】

    二:get 请求

    三、总结

    1.WebApi 默认支持Post提交处理,返回的结果为json对象,前台不需要手动反序列化处理。

    2.WebApi 接收Post提交参数需要指定([FromBody] string name)

    3.WebApi 中如果只接收一个基础类型参数,不能指定key的名称
    4.WebApi Post请求Action只能接收一个参数,也就是说一个Action中[FromBody]仅可指定一次
    5.WebApi Post请求处理多个参数可以使用类对象方式接收参数例如:Student
    6.在接收Post参数时,如果不想定义类,可以使用Newtonsoft.Json.Linq的JObject json对象容器接收参数
    7.(不推荐使用)此接收参数可以使用dynamic本质是使用的JObject,但是提交参数需要指定字符串类型,contentType: 'application/json',类似WebServer中的指定方式
    8.在WebApi的Post请求处理中,后台的Action名称不能使用“GetXXX”方式命名

    9.在后台的Action名称前缀加入Get 是 不用加【HttpGet】其他请求方式一样

    四、验证代码

    1.单个参数传递

    Post获取请求参数需要指定参数来源 [FromBody],

    Post方式提交时,Action的名称不能使用'Get'名称开头,

    如果只接收一个基础类型参数,不能指定key的名称

  • 相关阅读:
    前端之script标签注意事项
    前端之常用网址的整理
    前端之清除浮动
    三元表达式
    迭代器 生成器
    文件处理流程
    python中常见的内置函数
    匿名函数lambda
    模拟问路场景理解递归
    create auto increment row with select in postgreSQL
  • 原文地址:https://www.cnblogs.com/lp73/p/9766943.html
Copyright © 2011-2022 走看看