Wenn ich eine GET- und POST-Anfrage mache, funktionieren sie einwandfrei, aber wenn ich eine PUT-, DELETE- und findById-GET-Anfrage mache, funktioniert sie nicht. Wenn ich versuche, eine Anfrage zu stellen, wird 500 interner Fehler angezeigt. Ich weiß nicht, warum das passiert, also helfen Sie mir bitte.
Vielen Dank im Voraus!
Family1.class
Code: Select all
@Entity
public class Family1 {
@Id
private long id;
private String Name;
private int Member;
private long contactNo;
@Embedded
public Address address;
// getters,setters
Code: Select all
@RestController
@RequestMapping(value = "/family1")
public class Family1Controller {
@Autowired
private Family1Service family1Service;
@RequestMapping("/fam1")
public List getAllFamily1(){
return family1Service.getAllFamily1();
}
@RequestMapping(method=RequestMethod.POST,value="/fam1")
public void addFamily1(@RequestBody Family1 family1){
family1Service.addFamily1(family1);
}
@RequestMapping(method=RequestMethod.GET,value="/fam1/{id}")
public Family1 getFamily1Id(@PathVariable long id) {
List family=family1Service.getFamily1Id(id);
return family.get((int) id);
}
@RequestMapping(method=RequestMethod.PUT,value="/fam1/{id}")
public Family1 updateFamily1(@RequestBody Family1 family1, @PathVariable("id") long id){
family1.setId(id);
return family1Service.updateFamily1(family1);
}
@RequestMapping(method=RequestMethod.DELETE,value="/fam1/{id}")
public void deleteFamily1(@PathVariable("id") long id) {
family1Service.deleteFamily1(id);
}
}
Code: Select all
@Service
public class Family1Service {
private Family1Repository family1Repository;
private List family=new ArrayList(Arrays.asList(
new Family1(1,"abc",3,32423423,new Address("east street","xxxxxx",23456)),
new Family1(2,"xyz",4,354646,new Address("west street","yyyyyy",23456)),
));
public List getAllFamily1() {
return family;
}
public List getFamily1Id(long id){
family1Repository.findById(id);
return family;
}
public void addFamily1(Family1 family1) {
family.add(family1);
}
public Family1 updateFamily1(Family1 family1) {
return family1Repository.save(family1);
}
public void deleteFamily1(long id) {
family1Repository.deleteById(id);
}
}
Code: Select all
public interface Family1Repository extends CrudRepository {
public void deleteById(long id);
public void save(Family1 family1, long id);
public void findById(long id);
Code: Select all
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
public class Family1Application {
public static void main(String[] args) {
SpringApplication.run(Family1Application.class, args);
}
}
Code: Select all
{
"timestamp": "2021-01-06T07:32:49.232+00:00",
"status": 500,
"error": "Internal Server Error",
"message": "",
"path": "/family1/fam1/1"
}