zoukankan      html  css  js  c++  java
  • 【】POST、GET、RequestParam、ReqestBody、FormData、request payLoad简单认知

    背景:

      使用vue+axios方式代替ajax后向后台发送数据出现问题了,controller获取不到数据。然后查、找、查、找中似乎找到一些门道。以下列出总结性的东西来记录自己的思考成果,仅供参考,不保证正确性,欢迎指正。


    ① get方式的请求是没有请求体的。但是get有query string parameter 这就是url?之后的一串东西。post请求发现了两种请求体。一种是FromData形式的请求体,一种是request payload形式的。这个可以F12查看network详细。

    ② post请求体是通过请求头中的Content-Type来区分的:formData形式的Content-Type为application/x-www-form-urlencoded ;而request payload形式的请求体Content-Type为application/json或multipart/form-data 

    ③ 使用@RequestBody注解接收request payload形式的请求体参数;使用@RequestParam注解接收formData形式的请求体参数。

    ④ 使用axios发送post请求时,使用序列化工具Qs.stringify()对data进行序列化。axios可以自动转换请求体形式。

    ⑤ 查询的时候,我是使用POST方式的request payload形式发送请求,后台使用@RequestBody注解进行接收。映射成Page对象或者直接map对象。

    ⑥ 单个删除的时候,使用DELETE方式。例如 user/del/{id}。然后后台用@PathVariable注解进行接收。

     ⑦ 批量删除的时候,使用DELETE方式。例如user/dels/{ids}。这里的ids是用逗号分隔成的字符串。后台用@PathVariable注解接收映射成List<String> ids形式的数据。

  • 相关阅读:
    康师傅JVM:运行时数据区概述及线程(三)
    康师傅JVM:程序计数器(四)
    Git常用命令
    Arthas概述
    康师傅JVM:JVM与Java体系结构(一)
    LabVIEW 连接MySQL数据库
    LabVIEW dll 崩溃
    LabVIEW 关于定时的研究
    NI 配置管理软件MAX的一些功能使用介绍
    LabVIEW 串口通信
  • 原文地址:https://www.cnblogs.com/oldwei/p/10158685.html
Copyright © 2011-2022 走看看