projeto com implementação de DTO utilizando o ModelMapper para fazer o mapeamento e usando o banco MariaDb na porta 3310
Meu Site: https://ajeitandoseulado.com.brPara adionar o Hateos foi instalado a dependência no pow.xml
para usar o DozerMapper crie uma class com o nome DOzerMapper
package com.br.fsc.mapper;
import java.util.ArrayList; import java.util.List;
import com.github.dozermapper.core.DozerBeanMapperBuilder; import com.github.dozermapper.core.Mapper;
public class DozerMapper {
package com.br.fsc.mapper;
import java.util.ArrayList; import java.util.List;
import com.github.dozermapper.core.DozerBeanMapperBuilder; import com.github.dozermapper.core.Mapper;
public class DozerMapper {
private static Mapper mapper = DozerBeanMapperBuilder.buildDefault();
public static <O, D> D parseObject(O origin, Class<D> destination) {
return mapper.map(origin, destination);
}
public static <O, D> List<D> parseListObject(List<O> origin, Class<D> destination) {
List<D> destinationObjects = new ArrayList<D>();
for (O o : origin) {
destinationObjects.add(mapper.map(o, destination));
}
return destinationObjects;
}
}
Paa Hateos implemetei no meu pom.xml
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
</dependency>
Em DTO foi alterado para
public class BookDto extends RepresentationModel implements Serializable {
implementei o Hateos em service e colocaque os import manuais
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn;
testando no potman acrescentei em header uma propriedade Accept e description application/json ou xml
O MOCKITO é para fazer teste sem a classe principal do service
para Mockito -> New Junit jupter test -> @beforeEach setUp e todos do BookService
SWAGGER Para acessar o swagger: http://localhost:8080/v3/api-docs