Restful Api写法心得之二《参数接收篇》

前言
温馨提示:可以订阅我的微信公众号,在手机里看技术文档也很不错哦o( ̄︶ ̄)o

本篇文章主要说下接口的数据参数到底该如何接收,我们知道一个http请求最重要的意义就是将数据在服务器上进行传入与传出,本章主要讲的也就是传入。一次请求传递参数的方式主要有 URL路径中、请求头中、请求体中还有通过cookie等,下面我们分别对几种方式进行讲解。

MediaType的选择

MediaType即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。

  • 对于POST、PUT、PATCH这种HTTP方法,统一使用 application/json,将参数放在请求体中以JSON格式传递至服务器
  • 对于GET、DELETE的HTTP方法,使用默认类型(application/x-www-form-urlencoded)

备注
特殊情况特殊考虑,例如进行文件上传时,使用 multipart/form-data类型等

路径参数

对应spring mvc框架中@PathVariable注解

备注
这里有个注意的点,当路径参数值中有带点"."的情况时,spring mvc框架中有对点做特殊处理,这导致在程序中只能接收到点之前的内容,例如你的请求是:GET https://api.zhuma.com/users/hehe.haha,后端在接收userId='hehe.haha’时,只会接收到hehe字符串,后面的部分(.haha)被舍弃掉了。

解决方式是:

package com.zhuma.demo.analyst.config;
 
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
   
 
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
   
        configurer.setUseSuffixPatternMatch(false);//可以让URL路径中带小数点 '.' 后面的值不被忽略 
    }
 
}

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值