我正在开发我的第一个基于 spring 的示例项目。以下是我的dispatcher-servlet.xml 的摘录。
<mvc:view-controller path="" view-name="test" />
<!-- location to scan for controllers -->
<context:component-scan base-package="com.test.demo.student.controller" />
我尝试向以下网址发送帖子,但它似乎从未到达相应的 Controller 类:
网址:http://localhost:8080/TestProject/student/retrieveDetails
@Controller
@RequestMapping("student")
public class StudentController {
private final Logger logger = Logger.getLogger(StudentController.class);
@Autowired
public StudentService studentService;
public void setStudentService(StudentService studentService) {
this.studentService = studentService;
}
@RequestMapping(value = "/retrieveDetails", method = RequestMethod.POST)
public @ResponseBody String retrieveDetails(@RequestBody RetrieveStudentRequestBo retrieveStudentRequestBo,HttpServletRequest req,HttpServletResponse res) {
logger.info("Entering StudentController.retrieveDetails()" );
帖子输入{"testID":"1"}
ERROR [400]
Bad Request
是响应。
虽然一切似乎都已就位,但为什么我收到 400 错误?
最佳答案
请在学生
前添加斜杠:
@Controller
@RequestMapping("/student")
public class StudentController {
...
}
此外,我希望您的构建工件将是 TestProject.war
,因为这是您路径的一部分。
关于java - Spring:发布请求未到达 Controller 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21405606/