45
loading...
This website collects cookies to deliver better user experience
<!-- Feign -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
<version>11.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-jackson</artifactId>
<version>11.0</version>
</dependency>
<!--Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.0</version>
</dependency>
<embedded>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
<target>/apps/aem-feign-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-jackson</artifactId>
<target>/apps/aem-feign-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<target>/apps/aem-feign-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<target>/apps/aem-feign-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<target>/apps/aem-feign-vendor-packages/application/install</target>
</embedded>
@Data
public class Users {
private String uuid;
private String firstname;
private String lastname;
private String username;
private String password;
private String email;
private String ip;
private String macAddress;
private String website;
private String image;
}
@Data
public class Address {
private String street;
private String streetName;
private String buildingNumber;
private String city;
private String zipcode;
private String country;
@JsonProperty("county_code")
private String countyCode;
private Double latitude;
private Double longitude;
}
@Data
public class Response<T> {
private String status;
private int code;
private long total;
private List<T> data;
}
public interface FakerApi {
@RequestLine("GET /users?_quantity={quantity}&_gender={gender}")
Response<Users> users(@Param("quantity") long quantity, @Param("gender") String gender);
@RequestLine("GET /addresses?_quantity={quantity}")
Response<Address> addresses(@Param("quantity") long quantity);
}
FakerApi fakerApi = Feign.builder()
.decoder(new JacksonDecoder())
.target(FakerApi.class, "https://fakerapi.it/api/v1");
Response<Address> address = fakerApi.addresses(2);
Response<Users> femaleUsers = fakerApi.users(2, "female");