【发布时间】:2019-06-19 16:56:12
【问题描述】:
我已经将我的 springboot 连接到 MySQL 数据库。我想在 HTTP 请求中指定 user_id 时显示用户名。例如http://8080/user/1 必须以user_id 1 显示用户名。
该表包含以下属性:
| Integer user_id; | String username; | String fathername; | String mothername;
我已经在 Controller 类中尝试过这段代码,但我似乎没有工作
@RequestMapping("/{userid}")
@ResponseBody
public String getById(Integer userid) {
String name="";
try {
Optional<Persondetails> persondetails=persondetailsRepository.findById(personid);
name = String.valueOf(userdetails.getName());
}
catch (Exception ex) {
return "Name not found";
}
return "The Name of the user is : " + name;
}
我的存储库代码:
import java.util.List;
import java.util.Optional;
public interface UserdetailsRepository extends JpaRepository<Userdetails, Integer> {
public Optional<Userdetails> findById(Integer userid);
}
它说 getName() 对于 Optional 类型未定义
但我已经在 Userdetails 类中定义了它
public class Userdetails {
@Id
@GeneratedValue
@Column(name="user_id")
private Integer userid;
@Column(name="name")
private String name;
@Column (name="fathers_name")
private String fathersname;
@Column(name="mothers_name")
private String mothersname;
public Userdetails() {
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getName() {
return name;
}
public void setname(String name) {
this.name = name;
}
public String getFathersname() {
return fathersname;
}
public void setFathersname(String fathersname) {
this.fathersname = fathersname;
}
public void setMothersname(String mothersname) {
this.mothersname = mothersname;
}
public String getMothersname() {
return mothersname;
}
}
【问题讨论】:
-
http://8080/user/1不是有效的网址 -
是的,我举了一个例子。 1表示user_id
-
回答您的问题需要大量工作。能否请您包括您已经完成的工作?如果您还没有做任何事情,我建议您从一些小事开始并迭代工作,因为这个问题有很多层。
-
您需要传递应用程序的主机、端口和上下文。例如localhost:8080/demo-user/users/1
标签: mysql spring-boot