zoukankan      html  css  js  c++  java
  • 前后端接口沟通小结

    后端Restful API

    • Restful是目前最流行的 API 设计规范,用于 Web 数据接口的设计。如果一个架构符合REST原则,就称它为RESTful架构。
    • Restful参见
    • RestfulAPI最佳实践

    1. @RestController注解

    @RestController = @Controller + @ResponseBody
    区别

    2. @RequestMapping注解

    @RequestMapping在类的级别上的注解会将一个特定请求或者请求模式映射到一个控制器之上。之后你还可以另外添加方法级别的注解来进一步指定到处理方法的映射关系。
    @RequestMapping详解

    3. @PathVariable注解

    当URL指向的是某一具体业务资源(或者资源列表),例如博客、用户时,使用@PathVariable。
    形式如:/blogs/{blogId},使用@Pathvariable(value = "itemId")获取url路径中的值。

    4. @RequestParam注解

    当URL需要对资源或者资源列表进行过滤,筛选时,用@RequestParam。
    形式如:blogs?blogId=1,使用@RequestParam("itemId")获取url参数中的值。
    @RequestParam注解的参数不能为空!如果已经集成swagger,可以改为使用swgger注解@ApiImplicitParam,或者与@ApiParam联合使用。

    5. @RequestBody注解

    详解@RequestBody的使用

    5. 常见用法总结❤️

    • 使用Get方式请求时,通常使用@RequestParam或者@PathVariable注解来接收传递的参数,如果使用实体类接收,不要使用@RequestBody注解。
    • 使用Post方式请求时,通常使用@RequestBody注解,前端使用json封装数据,后端创建一一对应的属性的实体类来接收json。

    前端如何向后端传值

    1. 查询字符串

    URL="xxx/blogs?id=5"
    字符串拼接方式:

    var item;
    url="xxx/blogs?id=" + item + "";
    

    2. url带值

    URL="xxx/blogs/5"

    HTTP补充

    1. HTTP方法

    Get和Post方法

    2. HTTP信息

    状态信息

    前后端日期处理格式

    1. 前端给后端DTO

    后端接收前端传来的封装为json的日期,使用String接收(不推荐);
    使用@JsonFormat注解,或者@DateTimeFormat注解将string自动转换为日期格式

    2. 后端给前端DTO

    • 后端将数据封装为DTO给前端,其中的实体属性为时间类型,则使用Date类型(ZoneDateTime类型);
    • jackson在序列化时间时是按照国际标准时间GMT进行格式化的,而在国内默认时区使用的是CST时区,两者相差8小时。,需要在属性上加注解,使时区一致。
      @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    • 注意pattern不要写错!
  • 相关阅读:
    执行truncate引发ORA-02266的问题分析
    一文搞懂MySQL-8.0 redo优化
    写给迷茫中的大一大二的学弟学妹,学渣逆袭中的个人经历与心得
    99+好友共同关注,公众号推荐
    Cesium
    Cesium
    Cesium
    Cesium
    虚拟化学习笔记-KVM虚拟化跨机迁移原理
    虚拟化学习笔记-KVM虚拟化跨机迁移原理
  • 原文地址:https://www.cnblogs.com/pycrab/p/10589358.html
Copyright © 2011-2022 走看看