如何使用PAW-APP向自建Rails API提交层级参数?
嘿,我经常用PAW测试Rails API,这事儿很简单,给你一步步讲清楚怎么操作:
用PAW-APP发送符合Rails嵌套参数格式的POST请求
首先,先创建基础的POST请求:
- 打开PAW,新建一个请求,把请求方法改成
POST,然后填入你的Rails API端点(比如本地开发的http://localhost:3000/api/activities) - 接下来重点设置请求体,因为Rails需要的是
activity: {user_id: 3, category: 4}这种嵌套结构的参数,下面两种方法都能实现:
方法一:用表单数据(Form Data)提交
这种方式适合模拟传统表单提交,Rails会自动解析嵌套参数:
- 切换到「Body」标签页,选择「Form Data」类型
- 点击「Add Parameter」按钮,在「Name」栏输入
activity[user_id],「Value」填3 - 再添加一个参数,「Name」填
activity[category],「Value」填4 - 直接发送请求就行,PAW会自动把参数编码成Rails能识别的格式,后端通过
params[:activity]就能拿到完整的哈希对象
方法二:用JSON格式提交(API场景推荐)
如果你的API是接收JSON数据的(Rails默认配置一般都支持),这么操作更规范:
- 切换到「Body」标签页,选择「JSON」类型
- 在编辑框里输入嵌套的JSON结构:
{ "activity": { "user_id": 3, "category": 4 } }
- 检查一下「Headers」标签,确认
Content-Type已经被设置为application/json(PAW选JSON类型时会自动添加这个请求头,不用手动加) - 发送请求后,后端的
params[:activity]就能正确获取到user_id和category字段
小提醒
- 如果你的Rails项目没开API模式,默认会有CSRF保护,这时候要么在请求头里添加
X-CSRF-Token(值可以从页面的meta标签里拿),要么在config/application.rb里配置跳过API路由的CSRF检查 - 可以把这个请求保存成模板,以后测试类似的创建接口直接复用,省得重复设置
内容的提问来源于stack exchange,提问作者Will
相关产品推荐
相关产品推荐

