小编Umu*_*der的帖子

axios为请求param添加括号[]

我正在尝试添加项目列表作为请求参数。当我手动编写这样的 URL 时:http://localhost:8080/api/user/book/?keyword=&page=1&pageSize=5&field=id&order=ascend&author=aziz&author=nazim,我得到了我想要的。

然而,axios 坚持毫无意义地添加方括号。

const _fetchBooks = async (params) => {
        const url = `${UrlUtil.userURL()}/book/`;

        const response = await axios.get(url, {
            params: {
                keyword: params.search,
                page: params.pagination.current,
                pageSize: params.pagination.pageSize,
                field: params.sorter?.field,
                order: params.sorter?.order,
                author: params.filter?.author,
            },
       ...
    };
Run Code Online (Sandbox Code Playgroud)

这是我进行过滤时 React 尝试到达的结果 URL: http://localhost:8080/api/user/book/?keyword=&page=1&pageSize=5&field=id&order=ascend&author[]=aziz&author[]=nazim

有了括号,我无法继续,因为我遇到了异常:

java.lang.IllegalArgumentException: Invalid character found in the request target [/api/user/book/keyword=&page=1&pageSize=5&field=id&order=ascend&author[]=aziz&author[]=nazim ]. The valid characters are defined in RFC 7230 and RFC 3986

所以,Java 不喜欢括号。

parameters reactjs axios

3
推荐指数
1
解决办法
3594
查看次数

标签 统计

axios ×1

parameters ×1

reactjs ×1