我应该使用在 GET 请求上编码的正文 url 吗?

问题描述 投票:0回答:2

我今天遇到一个问题。

我有一个用 Node JS 制作的 API,但在某些端点中,我需要接收一些带有空格的参数。

这些端点是 GET,但我的问题是,在 GET 端点中使用表单 url 编码的正文是一个好的做法吗?

将带有空格的参数传递到 GET 端点的最佳方式是什么?

rest get endpoint
2个回答
2
投票

您不应将请求主体与

GET
一起使用。请求主体被/应该被忽略,并且许多库丢弃它们。

GET
的目的是获取指定URI处资源的表示,仅此而已。有关您想要接收其状态的资源的所有信息都应位于 URI 中。不过,您可以对 URI 中的空格进行编码,只需使用 url 编码库即可。

如果您谈论的是“参数”,这对我来说听起来更像是 RPC 调用,并且

POST
可能更合适。
POST
确实允许请求主体,并且 URL 编码或 JSON 主体都可以。


2
投票

将带有空格的参数传递到 GET 端点的最佳方式是什么?

形成 urlencoded 查询参数是最常见的答案。

/foo?bar=look+at+the+encoded+spaces

参见:application/x-www-form-urlencoded


基本框架是参数在概念上是所请求资源的标识符的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.