request对象对请求体,请求头参数的解析

1.请求体参数解析:

        1.1 GET请求

                1.1.1 请求url中/?xxx&xxx格式为查询字符串参数,通过request.GET获取请求参数

                1.1.2 请求url中/xxx/2/xxx格式为路径参数,通过request.GET获取

                1.1.3 url中xx/?name=aa&age=19&name=bb,通过request.GET获取,若想获取所有name参数,通过getlist('key1')获取相同key的多个值,返回list类型        

        1.2 POS请求

                1.2.1 json格式请求体参数

                json格式的参数会存放在body中,一般为bytes字节类型,使用json.loads(request.body)处理后提取参数

                 1.2.2 www-form-urlencoded格式参数

                一般在前端通过表单录入的参数就是www-form-urlencoded类型 ,通过request.POST获取

                1.2.3 file文件类型参数

                        1.2.3.1 通过form-data中的file类型参数

                                content_type类型为multipart/form-data,参数从request.body中获取

                        1.2.3.2 通过binary中的file类型参数

                               纯文件,都用request.body获取

2.请求头参数解析:

        2.1 request.headers['key']或者request.headers.get('key')获取

        2.2 request.META['HTTP_AUTHORIZATION']获取

                请求头参数会被转化为:HTTP_参数名大写,如果参数名中有‘-’符号,会自动转化为‘_'

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Java中获取请求的JSON并解析为JSON对象时出现了参数含有空格和乱码的问题。出现这个问题可能是由于请求JSON中的参数值中含有空格或者非UTF-8编码导致的。 要解决这个问题,首先需要检查并确认请求JSON中的参数值是否正确且符合JSON格式的规范。如果参数值含有空格或其他特殊字符,建议在发送请求时对参数值进行URL编码,确保其在传输过程中不会出现乱码。 在Java代码中,可以使用URLDecoder对请求JSON进行解码。例如,可以使用如下代码获取请求中的JSON字符串,并进行解码: String body = request.getReader().lines().collect(Collectors.joining(System.lineSeparator())); String decodedBody = URLDecoder.decode(body, "UTF-8"); 接下来,可以使用JSON库(如Jackson、Gson等)将解码后的JSON字符串解析为JSON对象。例如,对于使用Jackson库的情况,可以使用如下代码将解码后的JSON字符串解析为JSON对象: ObjectMapper mapper = new ObjectMapper(); JsonNode jsonNode = mapper.readTree(decodedBody); 在解析JSON对象之后,可以通过遍历JSON对象的属性、调用对应的getter方法等获取具参数值,进行后续的业务逻辑处理。 综上所述,要解决Java获取请求JSON解析为JSON对象参数含有空格乱码的问题,需要注意参数值的格式以及编码方式,并在Java代码中正确解码和解析JSON对象。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chuntian_tester

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值