后端开发——接口篇

文章目录

      • 一、接口
      • 二、HTTP协议
      • 三、Tomcat的作用?
      • 四、HTTP请求是如何从前端到后端的?
      • 五、HTTP请求与SpringBoot是如何协作的?
        • 1、方法绑定注解
        • 2、参数绑定注解

  对于小白来说,只要知道”在浏览器输入一个网址,就会返回一个网页“就行了。那么对于一个后端程序员来说,我们需要知道的是是什么?
  前后端分离时代,一个应用软件被分成了前端应用和后端应用。简单的来说就是:前端程序猿写好页面,在需要有数据填充的地方调用API接口,这个API接口是由后端程序猿提供的(哈,这就是面向接口编程)。因此这个API接口就是关键,前后端分离的落地必须依靠优良的API接口定义。如何定义好一个优秀接口?

一、接口

接口定义:程序之间协作所要遵循的一套规范、标准。

接口的优点

  • 1.责任划分清晰
  • 2.缩短研发周期
  • 3.可拓展性强

API
应用程序编程接口(API:Application Programming Interface):以HTTP协议形式提供,定义了输入、输出功能描述的服务。

restful风格
按照一定的规则写出的易读、易懂的api文档;目的是让前端、后端、测试三方在工作的时候有据可循,以提升开发和测试的效率。(非强制要求,软要求)
CRUD语法风格如下:
1.查
方法:get
响应码:200+查询数据
2.增
方法:post
响应码:201+新增数据
3.改
方法:put
响应码:200或201+修改数据
4.删
方法:delete
响应码:204+无

二、HTTP协议

HTTP:超文本传输协议,是一种规定了浏览器和服务器之间通信的规则。
https://blog.csdn.net/qq_41822345/article/details/104675572

三、Tomcat的作用?

  用来监听指定IP:port,一旦在该IP:port上发送请求,Tomcat服务器立马收到。所以简单来说Tomcat就是用来监听请求的

四、HTTP请求是如何从前端到后端的?

前端url请求→cas网关认证→ngnix转发→后端IP:port/url路径

  • Step1:登录用户发送url请求(eg:douyu.com)
    格式:协议://主机地址/路径

  • Step2:cas认证系统对登录用户的token进行网关认证

  • Step3:认证通过后交给ngnix服务器进行转发,转发到指定的服务器路径(10.128.191.19:8080/douyu/index)

  这里的10.128.191.19即为指定服务器,8080即为指定端口,douyu即为指定应用,index即为指定服务。

  前端就是通过这样一个过程访问到指定的服务的。

五、HTTP请求与SpringBoot是如何协作的?

1、方法绑定注解

   通过 @RequestMapping,它是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 用于方法上,表示将指定请求映射到指定方法上。

@RequestMapping(value="/index", method = RequestMethod.GET)
    public String index() {
        return "index";
    }

2、参数绑定注解

  • @RequestHeader 注解,可以把Request请求header部分的值绑定到方法的参数上。

  • @RequestParam常用来处理简单类型的绑定,通过Request.getParameter() 获取的String可直接转换为简单类型的情况 , 因为使用request.getParameter()方式获取参数,所以可以处理get 方式中queryString的值,也可以处理post方式中 body data的值;

  • @RequestBody:该注解常用来处理Content-Type: 它是通过使用HandlerAdapter 配置的HttpMessageConverters来解析post data body,然后绑定到相应的bean上的。

  • @PathVariable:当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。

  • @SessionAttributes :该注解用来绑定HttpSession中的attribute对象的值,便于在方法中的参数里使用。该注解有value、types两个属性,可以通过名字和类型指定要使用的attribute 对象;

  • @ModelAttribute:用于方法上时: 通常用来在处理@RequestMapping之前,为请求绑定需要从后台查询的model;用于参数上时: 用来通过名称对应,把相应名称的值绑定到注解的参数bean上。

你可能感兴趣的:(我的工作笔记,十.计算机网络篇)