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的名称

  • 相关阅读:
    zypper命令使用示例
    《大数据之路:阿里巴巴大数据实践》——1-5章
    《织云 Metis 时间序列异常检测全方位解析
    《Replicator Neural Networks》
    《软件应用 | 用 R 语言做因果推断?你少不了这些包》
    《【统计】Causal Inference》
    《Google 开源AI项目15个》
    《TF-Replicator:研究人员的分布式机器学习》
    《TF-Replicator, GPipe, Mesh-Tensorflow 三个库对比》
    虚拟对抗训练:一种新颖的半监督学习正则化方法
  • 原文地址:https://www.cnblogs.com/lp73/p/9766943.html
Copyright © 2011-2022 走看看