zoukankan      html  css  js  c++  java
  • Web Api(1)

    由于在学习Web Api没有了解过MVC,觉得有些吃力。很多基础的东西都会一并记录下来。

    Web API 的意思是使用HTTP协议并通过网络调用的API。

    API的意思软件外部接口。

    在实际的开发中,大多数的Web API并不是RESTful API.

    在 Web API 中,模型是表示应用程序中的数据的对象。

    控制器是处理 HTTP 请求的对象。

    本次使用的是VS2019+ASP.NET CORE 3.0。

    1.通过VS2019创建一个ASP.NET CORE 3.0的项目之后,将自带的天气预报的控制器和.CS删除。

    2.自己建立一个控制器。起名为UserController.

    3.Usercontroller 需要配置Route路由。以及创建一个Get请求的方法HelloWorld并 返回一个Hello World。

    ControllerBase 大部分的Web Api都应该继承这个基类。

     [ApiController]。这个属性是应用于Controller的,它能够使得Web API开发体验更好.

    当使用这个属性之后,启用:

    1.将会要求使用属性路由,不能通过Startup的Configure方法统一配置路由模板。

    2.自动HTTP 400响应。Action方法传入model含有验证错误,自动触发。

    3.推断参数的绑定源。

    IActionResult 代表Action方法返回的结果。

     4.设置launchsettings.json配置文件,此时启动方式也从IIS变成了WebApi的名称。

    launchUrl:格式和之前设置的对应。api/控制器名字/action名字

     5.启动项目看结果。我刷新了一次看到Get请求。返回确实是函数中return的结果

    6.appsettings.json 和 appsettings.Development.json之间的关系 意味着ASP.NET.Core可以使用多个环境.

    在Program.cs中Main方法负责配置和运行整个Web程序。

    Main方法调用下面这个方法创建了一个Host并调用其中Run方法。

    在Startup中,IConfiguration被注入了,那么可以允许使用配置信息。

    Configuration方法意思为用来向容器中注册服务,注册好的服务可以在其他地方进行调用.

    Configure方法意思为用来配置中间件管道,即如何响应http请求.每一个请求都会按照代码的顺序穿越所有添加的中间件.(顺序很重要)


    代理服务器 IIS为我们做了两件事情1. 解析我们的程序例如aspx 2.将解析后的资源代理出去

    .NET CORE也需要走这两步

    应用程序服务 和 代理服务

    .NET CORE本身自带了一个kestrel的应用程序服务

    我们如何进行代理服务呢

    补充 选择无托管代码是因为请求进入到IIS,在到.NET CORE后之后 自己的kestrel的应用程序服务会进行解析 然后借用了IIS的代理服务作用,将我们的程序代理出去.

    如果只需要代理服务 那我们可以很轻松的使用Nginx去作为代理服务替换掉我们的IIS部署。

    本次只是试着使用了一下,还有很多不懂的地方后面将继续学习。

  • 相关阅读:
    ubuntu下如何批量修改文件后缀名
    vanilla
    Ubuntu apt-get 彻底卸载软件包
    Kendall Rank(肯德尔等级)相关系数
    图像质量评估(IQA)
    conda常用命令
    在ubuntu中搜索文件或文件夹的方法
    libstdc++.so.6: version `GLIBCXX_3.4.21' not found
    迅雷磁力链接转BT种子工具
    springboot 集成mybatis plus3
  • 原文地址:https://www.cnblogs.com/cdjbolg/p/12045727.html
Copyright © 2011-2022 走看看