猿问

如何在自定义页面中使用 HATEOAS

我正在使用 Spring Boot 创建一个 Web 服务。

我正在尝试将 HATEOAS 引入端点。这是模型(DTO):


public class MovieResponse {

    private Long id;

    private String name;

    private Date releaseDate;

    private Time runtime;

    private Float rating;

    private String storyline;

    private String poster;

    private String rated;

    private Date createdAt;

    private List<GenreResponse> genres = new ArrayList<>();

    private List<MovieMediaResponse> videos = new ArrayList<>();

    private List<MovieMediaResponse> photos = new ArrayList<>();

    private List<MovieReviewResponse> reviews = new ArrayList<>();

    private List<MovieCelebrityResponse> cast = new ArrayList<>();

    private List<MovieCelebrityResponse> writers = new ArrayList<>();

    private List<MovieCelebrityResponse> directors = new ArrayList<>();


    // Getters & Setters

}

我还有一个PagedResponse包含页面信息的:


public class PagedResponse<T> {


    private List<T> content;

    private int page;

    private int size;

    private long totalElements;

    private int totalPages;

    private boolean last;


    public PagedResponse() {}


    public PagedResponse(List<T> content, int page, int size, long totalElements, int totalPages, boolean last) {

        this.content = content;

        this.page = page;

        this.size = size;

        this.totalElements = totalElements;

        this.totalPages = totalPages;

        this.last = last;

    }


    // Getters & Setters

}

我getAllMovies在服务中也有返回PagedResponse<MovieResponse>.


得到以下错误:


无法解析方法“toResource(com.movies.mmdb.util.PagedResponse, com.movies.mmdb.controller.MovieResourceAssembler)”


在这一行: return ResponseEntity.ok(this.pagedAssembler.toResource(response, this.movieResourceAssembler));


我认为在我传递变量时toResource接受. org.springframework.data.domain.Page;responsePagedResponse


我该如何解决?


jeck猫
浏览 146回答 1
1回答

阿晨1998

如果toResource方法接收 aPage<T>作为第一个参数,那么为什么不使用该数据类型?如果你需要扩展 Page 那么你的类应该实现这样的接口来实现方法签名:public&nbsp;class&nbsp;PagedResponse<T>&nbsp;implements&nbsp;Page<MovieResponse>
随时随地看视频慕课网APP

相关分类

Java
我要回答