我正在通过fast_jsonapi gem使用JSPON API规范,并尝试创建一个sparse fieldset发送到我的rails控制器。理想的查询字符串如下所示:
/locations?fields[location]=name&fields[location]=address
但是我最终得到的是这样的编码网址:
locations?fields=%7B%22location%22:[%22name%22,%22address%22]%7D
我将field选项传递给控制器
API::Admin::LocationSerializer.new(locations, { fields: params[:fields] }).serialized_json
但是得到错误:
no implicit conversion of Symbol into Integer
这是我通过axios传递查询字符串的方式:
axios.get('locations', {
params: {
fields: {
location: ['name', 'address'],
},
}
});
答案 0 :(得分:0)
您需要使用paramsSerializer
选项才能正常工作。像这样:
const qs = require('qs');
axios.get('locations', {
params: {
fields: {
location: ['name', 'address'],
},
},
paramsSerializer: params => qs.stringify(params)
});