Атрибут Пропустить шаблон из ответа, возвращенного Spring Rest API - PullRequest
0 голосов
/ 29 марта 2019

Я разработал REST API с использованием Spring Framework, я реализовал Spring HATEOS, но в ответ ниже я хочу опустить «шаблон», заключенный в черный прямоугольник на изображении ниже

enter image description here

Теперь я создал класс Ассемблера, реализовав ResourceAssembler<>, и записал весь код, связанный со ссылками, путем реализации его метода toResource() и вызвал его в моем контроллере Ассемблер

package com.javarnd.bbms.assembler;

import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;

import org.springframework.hateoas.Resource;
import org.springframework.hateoas.ResourceAssembler;
import org.springframework.stereotype.Component;

import com.javarnd.bbms.model.DonorDetail;
import com.javarnd.bbms.webapi.DonorDetailRestControllerV3;

    @Component
    public class DonorDetailAssembler implements ResourceAssembler<DonorDetail,Resource<DonorDetail>> {

        @Override
        public Resource<DonorDetail> toResource(DonorDetail donorDetail) {
            return new Resource<>(donorDetail,
                    linkTo(methodOn(DonorDetailRestControllerV3.class).one(donorDetail.getDonorId())).withSelfRel(),
                    linkTo(methodOn(DonorDetailRestControllerV3.class).all()).withRel("donors"));
        }

    }

Фрагмент контроллера

@GetMapping(value=ONE, produces=MediaType.APPLICATION_JSON_VALUE)
    public Resource<DonorDetail> one(@PathVariable Long id) {
        DonorDetail donorDetail=null;
        try {
            donorDetail = donorDetailService.findById(id);
            return donorAssembler.toResource(donorDetail);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

Я не встречал ни одного поста документов, где я мог бы настроить ответ в соответствии с моим требованием, любая помощь будетбыть оцененным.

...