【发布时间】:2020-05-04 07:29:03
【问题描述】:
我想要做的是使用邮递员使用 Spring Data JPA 发布一条记录,我得到空指针异常。 我不知道出了什么问题,请求中没有错误,代码中没有错误,但它显示内部服务器错误。请任何人帮助我
控制器-->
@RestController
@RequestMapping("/api")
public class Controller1 {
private EmployeeRepository erepo;
@GetMapping("/getEmployee")
public ResponseEntity<Object> get(){
List<Employee> findAll = erepo.findAll();
return new ResponseEntity<Object>(findAll,HttpStatus.OK);
}
@PostMapping("/postEmployee")
public String post(@RequestBody Employee emp){
System.out.println(emp.getName());
System.out.println(emp.getId());
erepo.save(emp);
return "string";
}
}
-->实体
@Entity
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String name;
public Employee() {
super();
// TODO Auto-generated constructor stub
}
public Employee(String name) {
super();
this.name = name;
}
public Employee(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
-->JpaRepository
public interface EmployeeRepository extends JpaRepository<Employee,Integer>{
}
-->application.properties
server.port=8082
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/ajax1
spring.datasource.username=root
spring.datasource.password=rajat
spring.jpa.hibernate.ddl-auto = update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
-->邮递员请求
Url-->http://localhost:8082/api/postEmployee
body-->{
"id":1,
"name":"kanha"
}
错误堆栈帧-->
java.lang.NullPointerException: null
at com.example.demo.controller.Controller1.post(Controller1.java:31) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_191]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_191]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_191]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_191]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
【问题讨论】:
标签: hibernate spring-boot spring-mvc jpa spring-data-jpa