问题描述
我正在尝试为发布请求添加位置标头。 URI构造同时包含path
和query
,但是传递两个参数不会生成预期的URI。我的rest控制器如下所示(部分代码):
URI location =
ServletUriComponentsBuilder.fromCurrentRequest()
.path("/{guilId}")
.query("userId={userId}")
.buildAndExpand(dbObject.getGuildId(),dbObject.getUserId())
.toUri();
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setLocation(location);
这将生成以下URL:
http://localhost:8080/guilds/{guildId}/users/{guildId}?userId={userId}
但是,预期的网址如下:
http://localhost:8080/guilds/{guildId}/users?userId={userId}
可见,我在users/
之后得到一个额外的ID,而不仅仅是直接获得查询参数(在额外的ID之后包含了)。我该如何克服?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)