后端如何接收格式为x-www-form-urlencoded的数据

 更新时间:2023年05月22日 09:40:56   作者:Recently 祝祝  
x-www-form-urlencoded格式是一种常见的HTTP请求数据格式,它将请求参数编码为键值对的形式,以便于传输和解析,下面这篇文章主要给大家介绍了关于后端如何接收格式为x-www-form-urlencoded的数据,需要的朋友可以参考下

1.x-www-form-urlencoded是什么?

x-www-form-urlencoded纸面翻译即所谓url格式的编码,是post的默认Content-Type,其实就是一种编码格式,类似json也是一种编码传输格式。form表单中使用

form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。

2.x-www-form-urlencoded类型后端怎么接收

用登录案例来作说明,登录的时候需要输入账户跟密码。但是前端使用的是x-www-form-urlencoded类型传输,所以我们也需要使用x-www-form-urlencoded类型接收

2.1后端Controller层接收代码一

  @ApiOperation(value = "用户登陆获取token", position = 5, notes = "用户登陆获取token")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "account", value = "用户名", dataType = "String"),
            @ApiImplicitParam(name = "password", value = "密码", dataType = "String"),
    })
    @RequestMapping(value="/login",method= RequestMethod.POST)
    public Result loginPC(String account ,String password ) throws Exception {
        Map map =  UserService.LoginUer(account, password);
        return Result.success(map);
    }

需要使用到@ApiImplicitParam,若有多个参数的话使用@ApiImplicition进行包裹。

接收x-www-form-urlencoded类型的关键点就在于@ApiImplicitParam。免去了使用@RequestBody在写一个接收类的繁琐步骤,加上@ApiImplicitParam之后直接接收即可。

若使用application/x-www-form-urlencoded类型传输数据过来,后端使用@ReposeBody接收,或出现报错

Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

若出现上边的错误,只需要按照上边代码修改一些接收参数即可

所以使用application/x-www-form-urlencoded类型传输数据过来,需要使用@ApiImplicitParam说明参数并且接收

2.2@ApiImplicitParam说明

@ApiImplicitParam是一个标注方法参数的注解

注解内的属性有

name:参数名

value:参数的中文含义

required:是否必须

dataType:参数类型

paramType:参数所放位置

defaultValue:参数的默认值

其中,paramType可选值有header、query、path

header标注为从@RequestHeader中获取

query标注为从@RequestParam中获取

path从标注为@PathVariable中获取

方法中有多个参数时,使用@ApiImplicitParams包围

 @ApiImplicitParams({
            @ApiImplicitParam(name = "account", value = "用户名", dataType = "String"),
            @ApiImplicitParam(name = "password", value = "密码", dataType = "String"),
    })

2.3后端Controller层接收代码二

x-www-form-urlencoded:表单的形式,表单格式。可以直接接收DTO数据,方法上不使用@ApiImplicitParams 。直接整个dto接收数据,不需要加上@ReposeBody.按照下方代码接收就可以达到目的

@ApiOperation(value="系统查询", position = 2, notes="系统查询",response =SysUserDTO.class)
    @RequestMapping(value = "/query",method = RequestMethod.GET )
    public Result query(@Validated ConditionDTO dto, @Validated PageDTO page) throws Exception{
        PageResultDTO<SysUserRDTO> result = UserService.query(dto, page);
        return Result.success(result);
    }

3.x-www-form-urlencoded测试软件怎么测试

以下是使用apipost进行测试的示例

总结

到此这篇关于后端如何接收格式为x-www-form-urlencoded数据的文章就介绍到这了,更多相关后端接收x-www-form-urlencoded数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解JDBC的概念及获取数据库连接的5种方式

    详解JDBC的概念及获取数据库连接的5种方式

    Java DataBase Connectivity是将Java与SQL结合且独立于特定的数据库系统的应用程序编程接口,一种可用于执行SQL语句的JavaAPI。本文主要介绍了JDBC的概念及获取数据库连接的5种方式,需要的可以参考一下
    2022-09-09
  • Java异常(Exception)处理以及常见异常总结

    Java异常(Exception)处理以及常见异常总结

    在《Java编程思想》中这样定义异常,阻止当前方法或作用域继续执行的问题,虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常,这篇文章主要给大家介绍了关于Java异常(Exception)处理以及常见异常的相关资料,需要的朋友可以参考下
    2021-10-10
  • gRPC实践之proto及Maven插件概念及使用详解

    gRPC实践之proto及Maven插件概念及使用详解

    这篇文章主要为大家介绍了gRPC实践之proto及Maven插件概念及使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Java实现替换集合中的元素的方法详解

    Java实现替换集合中的元素的方法详解

    这篇文章主要为大家详细介绍了Java中实现替换集合中的元素的常见方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • SpringBoot中如何启动Tomcat流程

    SpringBoot中如何启动Tomcat流程

    这篇文章主要介绍了SpringBoot中如何启动Tomcat流程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • MyBatis实现批量插入数据,多重forEach循环

    MyBatis实现批量插入数据,多重forEach循环

    这篇文章主要介绍了MyBatis实现批量插入数据,多重forEach循环方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 将本地JAR文件手动添加到Maven本地仓库的实现过程

    将本地JAR文件手动添加到Maven本地仓库的实现过程

    在Java开发中,使用Maven作为项目管理工具已经成为了主流的选择,Maven提供了强大的依赖管理功能,可以轻松地下载和管理项目所需的库和工具,在某些情况下,你可能会需要将本地下载的JAR文件手动添加到Maven的本地仓库中,这篇博客将详细介绍如何实现这一过程
    2024-10-10
  • ElasticSearch学习之文档API相关操作

    ElasticSearch学习之文档API相关操作

    这篇文章主要为大家介绍了ElasticSearch学习之文档API相关操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • mybatisplus使用xml的示例详解

    mybatisplus使用xml的示例详解

    这篇文章主要介绍了mybatisplus使用xml,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • spring.mvc.servlet.load-on-startup属性方法源码解读

    spring.mvc.servlet.load-on-startup属性方法源码解读

    这篇文章主要介绍了spring.mvc.servlet.load-on-startup的属性方法源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论