gpt4 book ai didi

java - Spring Boot 中的 RestController 中未找到 404

转载 作者:行者123 更新时间:2023-12-02 02:04:40 25 4
gpt4 key购买 nike

我有一个带有 pom.xml 的 Spring Boot 项目,如下所示

<groupId>com.project</groupId>
<artifactId>prj</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>prj</name>
<description>Demo project for Spring Boot</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

Application类是这样的

@SpringBootApplication
public class PrjApplication {

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

我有一个 RestController,我正在尝试执行一些像这样的 CRUD 操作

@RestController("/register")
public class RegisterController {
@Autowired
private UserRepository userRepository;

@GetMapping("/user/{id}")
public User getUser(@Valid @RequestBody Long id){
User user = userRepository.getOne(id);
return user;
}

@PostMapping("/new")
public User saveUser(@Valid @RequestBody String name,@Valid @RequestBody String email,@Valid @RequestBody String password,@Valid @RequestBody String phone){
System.out.println("savginv user");
User user = new User();
user.setEmail(email);
user.setPassword(password);
user.setName(name);
user.setPhone(phone);
userRepository.save(user);
return user;
}
}

我制作了一个实体类;喜欢这样的用户

@Entity
@Table(name = "tbl_users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;

String name, email, password, phone;

public Long getId() {
return id;
}



public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getPhone() {
return phone;
}

public void setPhone(String phone) {
this.phone = phone;
}
}

当我尝试使用 PostMan 调用 post 方法来保存用户时,出现 404 未找到错误。

{
"timestamp": "2018-06-23T06:47:14.086+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/prj/register/new"
}

我正在使用 JPARepository 执行数据库操作。

最佳答案

/prj 不是您 Controller 的一部分。使用不带它的 POST 请求(即 /register/new),或者将其添加到 Controller 的映射中:

@RestController("/prj/register")
public class RegisterController {
// rest of the code (no pun intended)

关于java - Spring Boot 中的 RestController 中未找到 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50998729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com