spring - 请求未在使用嵌入式 tomcat 的 spring boot 中映射

标签 spring rest spring-boot tomcat

我已经使用 MySQL 启动了一个新的 REST spring boot 应用程序,但我无法使用 postman 注册用户并且无法映射它们

我正在使用 STS 4.3.1, 用于 MySQL 的 xampp, 我看过创建 REST 服务的每个示例。

//我的入口

package com.accounts.rtgsneft;


@SpringBootApplication(scanBasePackages = {"com.account.rtgsneft.controllers","com.account.rtgsneft.dao","com.account.rtgsneft.models","com.account.rtgsneft.services"})
public class RtgsNeftApplication {

    public static void main(String[] args) {
        SpringApplication.run(RtgsNeftApplication.class, args);
    }

}

//我的 Controller

@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
@RequestMapping("/")

public class EmployeeController {
    @Autowired
    private EmployeeService employeeService;



    @PostMapping("/register")
    public ResponseEntity<?> RegisterControl(@RequestBody EmployeeMaster employee) {
        System.out.println("here:");
        try {
            employee = employeeService.Register(employee);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

        return ResponseEntity.ok(employee);
    }

    @RequestMapping("/error")
    public void getError() {
        System.out.println("error caught");
    }

}

//我的模型

@Component
@Entity
@Table(name = "users")
public @Getter @Setter class EmployeeMaster {

    @Id
    private Long empNumber;
    private String empName;
    private String username;
    private String empPassword;
    private String email;
    private String branch;
    private String role;

    @Override
    public String toString() {
        return "EmployeeMaster [empNumber=" + empNumber + ", empName=" + empName + ", username=" + username
                + ", empPassword=" + empPassword + ", email=" + email + ", branch=" + branch + ", role=" + role + "]";
    }


}

//我的仓库

package com.accounts.rtgsneft.repositories;

@Repository
public interface EmployeeRepository extends JpaRepository<EmployeeMaster, String> {

}

//我的服务接口(interface)和类

package com.accounts.rtgsneft.sevices;


public interface EmployeeService {


    public EmployeeMaster Register(EmployeeMaster employeeMaster);
}


package com.accounts.rtgsneft.sevices;


@Component
public class EmployeeServiceImpl implements EmployeeService {

    @Autowired
    private EmployeeRepository employeeRepo;
    @Override
    public EmployeeMaster Register(EmployeeMaster employeeMaster) {

        return employeeRepo.save(employeeMaster);
    }



}

//我的application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/rtgs_neft?useSSL=false&useTimezone=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=
spring.jpa.show-sql=true

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect

spring.jpa.hibernate.ddl-auto = update

server.port= 8080

//控制台

2019-08-08 17:06:28.132  INFO 9584 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
  2019-08-08 17:06:28.134  INFO 9584 --- [           main] c.accounts.rtgsneft.RtgsNeftApplication  : Started RtgsNeftApplication in 3.706 seconds (JVM running for 4.289)
    2019-08-08 17:06:59.576  INFO 9584 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
    2019-08-08 17:06:59.576  INFO 9584 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
    2019-08-08 17:06:59.600  INFO 9584 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 24 ms

控制台没有错误,servlet 已成功派发。 但是当我使用 postman 将请求发布到

时,我无法将我的数据发布到 servlet
localhost:8080/employee/register

最佳答案

您尝试访问的端点配置不正确。 请替换根 @RequestMapping("/") 使用 @RequestMapping("/employee")。 现在点击这个端点 localhost:8080/employee/register 它会起作用。

关于spring - 请求未在使用嵌入式 tomcat 的 spring boot 中映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57412312/

相关文章:

java - BasicDataSource 找不到 postgresql 或 postgis jdbc 驱动程序

java - setter方法上使用@Resource注解使用getter方法获取值时返回空指针异常

android - 用于从 Android 应用调用 REST 服务的 URL

java - 使用 Spring RestTemplate for Android 发出经过身份验证的 POST 请求

java - 获取 Teradata 数据源连接时出现异常

spring - 获取 SDG 2.0 中的注释,获取策略问题

java - 登录和结帐用户重定向到主页如何重定向到 sap hybris 中的购物车页面

php - Laravel 从 REST API 检索数据

java - Spring拦截一个类中的异常

java - 如何在 Spring Boot Controller 中返回图像并像文件系统一样提供服务