spring data findById()适用于curl但不适用于浏览器

时间:2018-01-20 10:46:54

标签: java spring curl

我有一个音乐mysql数据库,我正在尝试使用spring数据访问它。 到目前为止,我的控制器类中有三种方法: getAlbumByIdgetAllAlbumsgetAllArtists。最后两个适用于curl 'localhost:8080/demo/allAlbums'curl 'localhost:8080/demo/allArtists'。 curl正在归还所有专辑和所有艺术家。 如果我使用Firefox浏览器,这些方法也有效。使用curl 'localhost:8080/demo/oneAlbum/{1}'我得到结果:{1}}用于ID 1到16(我已插入16张专辑)。对于id 17,我得到结果:{"present":true}所以这似乎有效。但是,当我将{"present":false}放入Firefox浏览器时,我收到此消息:

'localhost:8080/demo/oneAlbum/{1}'

有人可以解释为什么会这样吗?

而且,我发现有一点奇怪的是,如果我将Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Sat Jan 20 11:08:48 CET 2018 There was an unexpected error (type=Internal Server Error, status=500). For input string: "{1}"的{​​{1}}从String更改为Integer,那么curl的调用仍然有效,但我在浏览器中收到了不同的消息:

@PathVariable

为什么curl的调用仍然有效?

getAlbumById

1 个答案:

答案 0 :(得分:1)

您实际上不必将花括号放在网址上。

试试这个:

localhost:8080/demo/oneAlbum/1

此外,对该id使用整数而不是字符串。