I'm new to java spring rest, and I'm stuck with http request methods get and put, specifically with the code below. I have already managed to upload my entity (event) with an image file. However I can't do a get method without facing the following error. I'm thinking more of the get method of my controller which is missing something, because I get a result but with a weird content type.
Postman
GET http://localhost:8080/stem/events Error: Maximum response size reached
Browser
[{"id":1,"title":"Indoor luchtkwaliteit = Frisse kop","description":"Met het meettoestel Frisse Kop gaan we aan de slag. We ontwerpen en bouwen dit helemaal zelf! We leren over 3D-ontwerpen en gaan hier zelf mee aan de slag. ","startDate":null,"endDate":null,"startHour":null,"endHour":null,"image":{"id":1,"fileName":"frissekop.jpg","fileType":"image/jpeg","content":"/9j/4AAQSkZJRgABAQEASABIAAD/4S3eRXhpZgAATU0AKgAAAAgADAEPAAIAAAAGAAAAngEQAAIAAAAQAAAApAESAAMAAAABAAEAAAEaAAUAAAABAAAAtAEbAAUAAAABAAAAvAEoAAMAAAABAAIAAAEyAAIAAAAUAAAAxAE7AAIAAAABAAAAAAITAAMAAAABAAIAAIKYAAIAAAABAAAAAIdpAAQAAAABAAAA2IglAAQAAAABAAAgTAAAIGBDYW5vbgBDYW5vbiBFT1MgMjAwMEQAAAAASAAAAAEAAABIAAAAATIwMjA6MDg6MjEgMTM6MDI6MTcAACeCmgAFAAAAAQAAArKCnQAFAAAAAQAAArqIIgADAAAAAQACAACIJwADAAAAAQMgAACIMAADAAAAAQACAACIMgAEAAAAAQAAAyCQAAAHAAAABDAyMzCQAwACAAAAFAAAAsKQBAACAAAAFAAAAtaRAQAHAAAABAECAwCSAQAKAAAAAQAA
Could someone help me to implement Get and update based on the relationship between Image and Event?
@Entity
@Table(name = "events")
@Data
public class Event {
@Id
@GeneratedValue
private Integer id;
private String title;
@Lob
private String description;
@OneToMany(mappedBy = "event",cascade = CascadeType.ALL,
orphanRemoval = true)
private List<Image> images=new ArrayList<>();
public void addImage(Image image) {
images.add(image);
image.setEvent(this);
}
public void removeImage(Image image) {
images.remove(image);
image.setEvent(null);
}
}
} ```
@Entity
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "images")
public class Image {
@Id
@GeneratedValue
private Integer id;
private String fileName;
private String fileType;
@Lob
private byte []content;
@ManyToOne(fetch = FetchType.LAZY)
private Event event;
}
// Controller
@RestController
@CrossOrigin
public class EventController {
@Autowired
private EventService eventService;
@Autowired
private ImageService imageService;
@GetMapping("/events")
public List<Event> getAllEvents() {
return eventService.getAllEvents();
}
@GetMapping("/events/{id}")
public Event getEvent(@PathVariable Integer id) {
return eventService.getEvent(id);
}
@PostMapping("/events")
public void addEvent(@RequestPart("event") Event event, @RequestPart("file")MultipartFile file) {
imageService.uploadImage(event,file);
// eventService.addEvent(event);
}
@PutMapping("/events/{id}")
public void updateEvent(@PathVariable Integer id, @RequestPart Event event) {
eventService.updateEvent(id, event);
}
@DeleteMapping("/events/{id}")
public void removeEvent(@PathVariable Integer id) {
eventService.removeEvent(id);
}
