处理 GET 请求的 URI 保留字符

Handling URI reserved characters for GET requests

我正在从我的 angular 服务发出 GET 请求,方法是使用 encodeURIComponent 替换保留字符,以便它像

一样发送到 URL
http://localhost:4200/api/verifiers/https%3A%2F%2Fwww.web.com%2Fdev%2F0/services/xx%3Ayy%3AV00000000000000000000000000000000000000000000000000000000000000000000000000000000%23read-device

然而,当我的 FastAPI 后端收到请求时,它将显示 404 Not Found 错误,因为 %2F 等字符被识别为 /,因此控制器无法解析 [=23] =] 与处理请求的方法有关。

例如上面的 URL 是从我的后端收到的

/verifiers/https%3A//www.web.com/dev/0/services/xx%3Ayy%3AV00000000000000000000000000000000000000000000000000000000000000000000000000000000%23read-device

前端使用encodeURIComponent ...后端使用decodeURIComponent解扰

通过在处理程序的 URL 路径中添加 :path 后缀解决