小编ero*_*dem的帖子

为什么 UriComponentsBuilder 忽略空查询参数?

我正在尝试构建一个 url UriComponentsBuilder

UriComponentsBuilder.fromUriString(BASE)
                .pathSegment("api")
                .pathSegment("v1")
                .queryParam("param1", userId) //userId in null
                .queryParam("param2",productId) //productId 12345
                .build().toUriString();
Run Code Online (Sandbox Code Playgroud)

我得到的结果如下所示。

"http://localhost/api/v1?param1=&param2=12345"
Run Code Online (Sandbox Code Playgroud)

当这些查询参数之一为 null 时,我根本不希望该参数键成为 url 的一部分。那么当参数为空时如何动态构造URL呢?我期望这样的事情:

"http://localhost/api/v1?param2=12345"
Run Code Online (Sandbox Code Playgroud)

java spring-mvc

6
推荐指数
1
解决办法
5236
查看次数

使用python请求模块时出现HTTP 503错误

我正在尝试发出 HTTP 请求,但我目前可以从 Firefox 浏览器响应 503 错误访问的网站。代码本身非常简单。在网上进行了一些搜索后,我user-Agent向请求添加了参数,但它也没有帮助。有人可以解释我如何摆脱这个 503 错误吗?顺便说一句,我想根据 btc 的价格制作自己的警报系统。

import requests

url = "https://www.paribu.com"
header ={'User-Agent': 'Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0 '}


response = requests.get(url,headers = header)
print(response)
Run Code Online (Sandbox Code Playgroud)

python http request http-status-code-503 python-3.x

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

我可以使用 Spring Cloud Gateway 进行基于角色的授权吗?

我的架构中有几个微服务。我想实现一个 API 网关来将请求路由到服务。为了实现这一目标,我实施了spring-cloud-gateway这就是我的application.yml

\n
server:\n  port: 9090\nspring:\n  application:\n  name: "API-GATEWAY"\n  cloud:\n   gateway:\n    routes:\n      - id: task-service\n        uri: 'http://localhost:8083'\n        predicates:\n          - Path=/task/**\n
Run Code Online (Sandbox Code Playgroud)\n

到目前为止,一切都按预期进行。一个请求localhost:9090/task/123localhost:8083/task/123. 下面就到了第二部分。

\n

我希望某些用户只能访问某些端点。在我的 JWT 令牌中,我有角色字段。

\n
  {\n      "accountName": "erdem.ontas",\n      "surname": "\xc3\x96nta\xc5\x9f",\n      "roles": [\n        "ADMIN",\n        "USER"\n      ],\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我不想在每个服务中单独指定授权,有没有办法在 spring-cloud-gateway 中指定基于角色的访问?例如,我希望 USER 角色能够访问GET http://localhost:9090/task/但不能访问GET http://localhost:9090/dashboard/

\n

java spring spring-cloud-gateway

2
推荐指数
1
解决办法
5788
查看次数