Skip to content

Commit

Permalink
Merge pull request #68 from arey/feature/use-generated-api
Browse files Browse the repository at this point in the history
Generate API interface from OpenApi Spec
  • Loading branch information
arey authored Dec 29, 2021
2 parents d85a476 + 500f0f1 commit 8655ad4
Show file tree
Hide file tree
Showing 28 changed files with 245 additions and 318 deletions.
29 changes: 15 additions & 14 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,8 @@
<configuration>
<excludes>
<!-- Generated code -->
<exclude>**/org/springframework/samples/petclinic/dto/**</exclude>
<exclude>**/org/springframework/samples/petclinic/rest/dto/**</exclude>
<exclude>**/org/springframework/samples/petclinic/rest/api/**</exclude>
</excludes>
</configuration>
<executions>
Expand All @@ -212,12 +213,12 @@
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>0.87</minimum>
<minimum>0.86</minimum>
</limit>
<limit>
<counter>BRANCH</counter>
<value>COVEREDRATIO</value>
<minimum>0.70</minimum>
<minimum>0.67</minimum>
</limit>
</limits>
</rule>
Expand Down Expand Up @@ -263,29 +264,29 @@
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/api-docs.yml</inputSpec>
<modelPackage>org.springframework.samples.petclinic.dto</modelPackage>
<inputSpec>${project.basedir}/src/main/resources/openapi.yml</inputSpec>
<generatorName>spring</generatorName>
<library>spring-boot</library>

<!-- Only enabling model generation -->
<!-- Only enabling model andopenapi-generator-maven-plugin API generation -->
<modelNameSuffix>Dto</modelNameSuffix>
<generateApiTests>false</generateApiTests>
<generateModelDocumentation>false</generateModelDocumentation>
<generateModelTests>false</generateModelTests>
<generateApis>false</generateApis>
<generateApiDocumentation>false</generateApiDocumentation>
<apiPackage>org.springframework.samples.petclinic.rest.api</apiPackage>
<generateModels>true</generateModels>
<generateSupportingFiles>false</generateSupportingFiles>
<!-- Activating JAVA8 features -->
<modelPackage>org.springframework.samples.petclinic.rest.dto</modelPackage>
<generateSupportingFiles>true</generateSupportingFiles>
<supportingFilesToGenerate>ApiUtil.java</supportingFilesToGenerate>
<generateApis>true</generateApis>
<configOptions>
<!-- RestController implementation is provided by Petclinic developers -->
<interfaceOnly>true</interfaceOnly>
<!-- Activating Java 8 features -->
<performBeanValidation>true</performBeanValidation>
<dateLibrary>java8</dateLibrary>
<java8>true</java8>
<openApiNullable>false</openApiNullable>
<!-- override the default library to jersey2 -->
<serializationLibrary>jackson</serializationLibrary>
</configOptions>
<!-- override the default library to jersey2 -->
</configuration>
</execution>
</executions>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package org.springframework.samples.petclinic.mapper;

import org.mapstruct.Mapper;
import org.springframework.samples.petclinic.dto.OwnerDto;
import org.springframework.samples.petclinic.rest.dto.OwnerDto;
import org.springframework.samples.petclinic.model.Owner;
import org.springframework.samples.petclinic.rest.dto.OwnerFieldsDto;

import java.util.Collection;
import java.util.List;

/**
* Maps Owner & OwnerDto using Mapstruct
Expand All @@ -16,7 +18,9 @@ public interface OwnerMapper {

Owner toOwner(OwnerDto ownerDto);

Collection<OwnerDto> toOwnerDtoCollection(Collection<Owner> ownerCollection);
Owner toOwner(OwnerFieldsDto ownerDto);

List<OwnerDto> toOwnerDtoCollection(Collection<Owner> ownerCollection);

Collection<Owner> toOwners(Collection<OwnerDto> ownerDtos);
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.springframework.samples.petclinic.mapper;

import org.mapstruct.Mapper;
import org.springframework.samples.petclinic.dto.PetDto;
import org.springframework.samples.petclinic.dto.PetTypeDto;
import org.springframework.samples.petclinic.rest.dto.PetDto;
import org.springframework.samples.petclinic.rest.dto.PetTypeDto;
import org.springframework.samples.petclinic.model.Pet;
import org.springframework.samples.petclinic.model.PetType;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package org.springframework.samples.petclinic.mapper;

import org.mapstruct.Mapper;
import org.springframework.samples.petclinic.dto.PetTypeDto;
import org.springframework.samples.petclinic.rest.dto.PetTypeDto;
import org.springframework.samples.petclinic.model.PetType;

import java.util.Collection;
import java.util.List;

/**
* Map PetType & PetTypeDto using mapstruct
Expand All @@ -16,5 +17,5 @@ public interface PetTypeMapper {

PetTypeDto toPetTypeDto(PetType petType);

Collection<PetTypeDto> toPetTypeDtos(Collection<PetType> petTypes);
List<PetTypeDto> toPetTypeDtos(Collection<PetType> petTypes);
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.springframework.samples.petclinic.mapper;

import org.mapstruct.Mapper;
import org.springframework.samples.petclinic.dto.SpecialtyDto;
import org.springframework.samples.petclinic.rest.dto.SpecialtyDto;
import org.springframework.samples.petclinic.model.Specialty;

import java.util.Collection;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.springframework.samples.petclinic.mapper;

import org.mapstruct.Mapper;
import org.springframework.samples.petclinic.dto.RoleDto;
import org.springframework.samples.petclinic.dto.UserDto;
import org.springframework.samples.petclinic.rest.dto.RoleDto;
import org.springframework.samples.petclinic.rest.dto.UserDto;
import org.springframework.samples.petclinic.model.Role;
import org.springframework.samples.petclinic.model.User;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.springframework.samples.petclinic.mapper;

import org.mapstruct.Mapper;
import org.springframework.samples.petclinic.dto.VetDto;
import org.springframework.samples.petclinic.rest.dto.VetDto;
import org.springframework.samples.petclinic.model.Vet;

import java.util.Collection;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.springframework.samples.petclinic.mapper;

import org.mapstruct.Mapper;
import org.springframework.samples.petclinic.dto.VisitDto;
import org.springframework.samples.petclinic.rest.dto.VisitDto;
import org.springframework.samples.petclinic.model.Visit;

import java.util.Collection;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package org.springframework.samples.petclinic.rest;
package org.springframework.samples.petclinic.rest.advice;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
Expand Down Expand Up @@ -43,7 +43,7 @@ public ResponseEntity<String> exception(Exception e) {
}
return ResponseEntity.badRequest().body(respJSONstring);
}

private class ErrorInfo {
public final String className;
public final String exMessage;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package org.springframework.samples.petclinic.rest;
package org.springframework.samples.petclinic.rest.controller;

import java.util.ArrayList;
import java.util.List;
Expand Down
Loading

0 comments on commit 8655ad4

Please sign in to comment.