没有 GET /json1/user 的映射

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

我正在开发一个 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.xmlJSON的依赖:

<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
java json spring maven spring-mvc
1个回答
0
投票

一个问题是您的请求映射缺少“/”:

@RequestMapping("json1") -> @RequestMapping("/json1")

@RequestMapping(“用户”) -> @RequestMapping(“/用户”)

它会有所帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.