使用@RequestMapping注解的控制器类不允许您在其中使用使用@PostMapping注解的方法

问题描述 投票:0回答:1

我有一个用 @RequestMapping("/students") 注释的控制器类 StudentController

@RequestMapping("/students")
@Controller
public class StudentController {}

在这个类中我有以下方法

@PostMapping("/processForm")
public String processForm ( ) {return "confirmation"; }

但是运行应用程序时,processForm 方法不执行,并且出现“不支持 POST”错误。有没有办法绕过它而不将 postmapping 更改为 getmapping?谢谢你。

我尝试将 postmapping 更改为 getmapping 或删除 @RequestMapping("/students") 并且两者都有效,但我想知道是否还有其他方法。

spring-boot thymeleaf
1个回答
0
投票

请尝试将

@Controller
替换为
@RestController
根据文档

@RestController
@RequestMapping("/persons")
class PersonController {

    @GetMapping("/{id}")
    public Person getPerson(@PathVariable Long id) {
        // ...
    }

    @PostMapping
    @ResponseStatus(HttpStatus.CREATED)
    public void add(@RequestBody Person person) {
        // ...
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.