我写了一个控制器方法来返回一个302和位置头,在使用者端我希望收到确切的消息,但是反过来我得到了一个200,在服务器响应的正文中包含位置URL的内容。
示例代码:
@GetMapping("/example/{id}")
fun getRedirect(@PathVariable id: UUID): ResponseEntity<*> =
referenceRepo.load(id).run {
if (this.isExternal()) {
ResponseEntity.status(HttpStatus.FOUND).location(this.url!!.toURI())
.build()
} else {
ResponseEntity.ok(this)
}
如果我删除了位置设置,我会得到重定向状态代码。我在这里错过了一些东西吗?我不期望位置头是由Spring输出管道跟踪。
1条答案
按热度按时间bq3bfh9z1#
tl;dr;在测试有问题的rest端点时,使用curl而不是任何其他花哨的工具。
这感觉很愚蠢,但我终于意识到这是 Postman 谁是以下重定向。我的端点是正确返回tho。