到达弹簧启动终点时找不到404

问题描述

当尝试点击spring boot应用程序的rest api端点时,我找不到404,下面是附加的项目结构快照 This is my project structure

控制器-

@RestController
@RequestMapping("/users")
public class UserRestController {

    private final UserService userService;

    public UserRestController(UserService userService){
        this.userService = userService;
    }

    @RequestMapping(value = "/create",method = RequestMethod.POST,consumes = MediaType.APPLICATION_JSON_VALUE,produces = MediaType.APPLICATION_JSON_VALUE)
    public void createuser(@RequestBody final UserDTO user){
        userService.saveUser(user);
    }


}

解决方法

您不扫描控制器。

在您共享的图像@ComponentScan中,仅扫描Service文件夹。但是您的控制器位于RestController文件夹中。

使用@ComponentScan,不带任何参数。默认情况下,它将在当前文件夹及其子文件夹中扫描beans

例如@ComponentScan()

,

@SpringBootApplication涵盖了@ EnableAutoConfiguration,@ ComponentScan,@ Configuration。

@RequestMapping(value = "/create",method = RequestMethod.POST,consumes = MediaType.APPLICATION_JSON_VALUE,produces = MediaType.APPLICATION_JSON_VALUE)

为此,您只需执行

 @PostMapping(value ="/create"
 consumes = MediaType.APPLICATION_JSON_VALUE,produces = MediaType.APPLICATION_JSON_VALUE)

让我们在邮递员中对其进行测试,它应该为POST,而网址必须为 localhost:<your port>/users/create。不要忘记在邮递员正文中添加UserDTO。

万一您丢失了它,您的应用程序必须已启动并正在运行。

,

重要,请在调用端点表单postman时检查您的HTTP方法类型。该类型必须为“ post”

  1. 我正在使用Spring Boot。则无需编写@ EnableAutoConfiguration,@ ComponentScan,@ Configuration。 @SpringBootApplication涵盖了所有这些。

  2. 您只需检查自己的网址,就应该像http:// localhost:8080 / users / create

  3. 已使用自动接线 @autowired 私人最终UserService用户服务;