我有一个音乐mysql数据库,我正在尝试使用spring数据访问它。
到目前为止,我的控制器类中有三种方法:
getAlbumById
,getAllAlbums
和getAllArtists
。最后两个适用于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
答案 0 :(得分:1)
您实际上不必将花括号放在网址上。
试试这个:
localhost:8080/demo/oneAlbum/1
此外,对该id使用整数而不是字符串。