http参数传递


get请求

get请求没有body(有的客户端支持,但浏览器一般不支持),蚕食都是放到url里传递的,经过URL编码

post请求

content-type 为 “application/json”

curl -X POST -H"Content-Type:application/json" -d'{"name":"wd"}' localhost:16052/api/v1/overt/test
request.body.read # {"name":"wd"}

content-type为 “application/x-www-form-urlencoded”

表单默认,格式与get一样都是url编码,只是放到body里

curl -X POST  -d "name=wd" localhost:16052/api/v1/overt/test
request.body.read #name=wd

content-type为 “multipart/form-data”

多用于文件上传,form需上传文件时设置 form 的 enctyped为"multipart/form-data"

curl -H"Content-Type:multipart/form-data" -F"name=wd" -F"age=44" -F"file1=@/Users/oudong/Desktop/aaa.png" -X POST localhost:4321/post

忽略文件的form内容 image.png

rails/grape application/json 和 application/x-www-form-urlencoded及multipart/form-data 的参数都能通过 params[key]的方式 取到,但其他语言/框架 这三种方式 取值方式 不一样;所以与其他语言对接时要注意告知Content-Type