我正在开发一个 SpringMVC 项目。
我的jsonController.java:
@RequestMapping("json1")
@RestController //= @Controller+@ResponseBody
public class jsonController {
@RequestMapping("user")
public User data(){
User user = new User();
user.setAge(22);
user.setName("kt");
return user;
}
}
我的mvcConfig.java:
@EnableWebMvc
@Configuration
@ComponentScan(basePackages = "com.atguigu.json")
public class mvcConfig implements WebMvcConfigurer {
}
我的Init.java:
public class Init extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[0];
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{mvcConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
我的项目结构:
src/
├── main/
│ ├── java/
│ │ └── com.atguigu/
│ │ ├── json/
│ │ │ ├── jsonController.java
│ │ │ └── User.java
│ │ └── config/
│ │ ├── Init.java
│ │ └── mvcConfig.java
│ ├──resources/
│ └── webapp/
│ └──WEB-INF
│ └── web.xml
我的pom.xml对JSON的依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.18.0</version>
</dependency>
环境详情:
Apache Tomcat/10.1.33
Windows 11
jdk 21.0.4+8-LTS-274
amd64
当我访问 http://localhost:8080/json1/user 时,我得到了这个 error:
[http-nio-8080-exec-7] org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping for GET /json1/user
一个问题是您的请求映射缺少“/”:
@RequestMapping("json1") -> @RequestMapping("/json1")
@RequestMapping(“用户”) -> @RequestMapping(“/用户”)
它会有所帮助:)