春季:方法不允许上传文件
我正在编写REST控制器,它应该允许用户上传文件。春季:方法不允许上传文件
我有一个类
@RestController
@RequestMapping("/profiles/{userId}/files")
public class FileController {
@PostMapping(path = "upload")
public String uploadFile(@PathVariable("userId") long userId,
@RequestParam("file") MultipartFile file) throws IOException {
//some logic here
}
,但我得到
{
"timestamp": 1502301243676,
"status": 405,
"error": "Method Not Allowed",
"message": "Method Not Allowed",
"path": "/profiles/12351/files/upload"
}
难道我做错了什么?没有@PathVariable的发布请求工作正常,但我需要这个。下面的代码
@RestController
@RequestMapping("/profiles/{userId}/files")
public class FileController {
@RequestMapping(value = "upload", method = RequestMethod.POST)
public String uploadFile(@PathVariable("userId") long userId,
@RequestParam("file") MultipartFile file) throws IOException {
//some logic here
}
使用谢谢你,伙计们。至少我找到了原因。 这是我的错:我有许多不同的控制器,其中一个是 "/profiles/{userId}/{source}"
,其中GET方法映射到同一端点。 所以这个控制器试图处理我的请求,但不能。 我改变了它的路径,我的第一个变成了工作。 感谢您的关注和答复。
@PostMapping没有“方法”参数。这是相当于@RequestMapping(方法= POST) –
@NikolayRomanov修改后的代码,由于 – Akash
与requestmethod交@Akash requestmapping相当于postmapping,您的代码是相同的 –
你是如何调用这个资源? –
@RossiRobinsion via Postman –
可能需要'CSRF'令牌。 –