client-resteasy

Clients for NPO API's

License

License

Categories

Categories

CLI User Interface RESTEasy Program Interface REST Frameworks
GroupId

GroupId

nl.vpro.api-client
ArtifactId

ArtifactId

client-resteasy
Last Version

Last Version

5.10.0
Release Date

Release Date

Type

Type

jar
Description

Description

client-resteasy
Clients for NPO API's
Project Organization

Project Organization

NPO

Download client-resteasy

How to add to project

<!-- https://jarcasting.com/artifacts/nl.vpro.api-client/client-resteasy/ -->
<dependency>
    <groupId>nl.vpro.api-client</groupId>
    <artifactId>client-resteasy</artifactId>
    <version>5.10.0</version>
</dependency>
// https://jarcasting.com/artifacts/nl.vpro.api-client/client-resteasy/
implementation 'nl.vpro.api-client:client-resteasy:5.10.0'
// https://jarcasting.com/artifacts/nl.vpro.api-client/client-resteasy/
implementation ("nl.vpro.api-client:client-resteasy:5.10.0")
'nl.vpro.api-client:client-resteasy:jar:5.10.0'
<dependency org="nl.vpro.api-client" name="client-resteasy" rev="5.10.0">
  <artifact name="client-resteasy" type="jar" />
</dependency>
@Grapes(
@Grab(group='nl.vpro.api-client', module='client-resteasy', version='5.10.0')
)
libraryDependencies += "nl.vpro.api-client" % "client-resteasy" % "5.10.0"
[nl.vpro.api-client/client-resteasy "5.10.0"]

Dependencies

compile (17)

Group / Artifact Type Version
nl.vpro.media : media-classification jar 5.10.0
nl.vpro.api-client : client-core jar 5.10.0
org.slf4j : slf4j-api jar 1.7.25
org.jboss.resteasy : resteasy-jaxrs jar 3.6.2.Final
org.jboss.resteasy : resteasy-jaxb-provider jar 3.6.2.Final
org.jboss.resteasy : resteasy-jackson2-provider jar 3.6.2.Final
com.google.inject : guice jar 4.2.2
nl.vpro.shared : vpro-shared-jackson2 jar 2.6.0
nl.vpro.shared : vpro-shared-client-resteasy jar 2.6.0
nl.vpro.api : api-rs-services jar 5.10.0
nl.vpro.pages : pages-rs-services jar 5.10.0
org.jboss.resteasy : resteasy-client jar 3.6.2.Final
org.apache.httpcomponents : httpclient jar 4.5.6
org.jboss.resteasy : resteasy-validator-provider-11 jar 3.6.2.Final
nl.vpro.shared : vpro-shared-util jar 2.6.0
javax.validation : validation-api jar 2.0.1.Final
io.jsonwebtoken : jjwt jar 0.9.1

provided (2)

Group / Artifact Type Version
javax.servlet : javax.servlet-api jar 3.1.0
org.projectlombok : lombok jar 1.18.4

test (6)

Group / Artifact Type Version
org.slf4j : slf4j-log4j12 jar 1.7.25
org.springframework : spring-test jar 5.1.3.RELEASE
org.springframework : spring-beans jar 5.1.3.RELEASE
org.springframework : spring-context jar 5.1.3.RELEASE
nl.vpro.shared : vpro-shared-guice jar 2.6.0
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

api-clients

Table of Contents

Build Status Maven Central codecov javadoc snapshots

Java API clients for the POMS Rest API’s (Frontend API, Backend API, Pages Publisher)

The clients are basicly generated using resteasy to proxy the actual service interface, and they are decorated with some interceptors and similar techniques to arrange the appropriate authentication, to let the generated client automaticly fill common parameters, and things like that.

We also add a common way to instantiate (using the builder pattern) and configure them.

It is split up in several modules. These are the important ones:

The clients can be configured by code and/or a configuration file in ${user.home}/conf/apiclient.properties.

    NpoApiClients clients = NpoApiClients.configured(nl.vpro.util.Env.TEST).build();
    NpoApiMediaUtil util = new NpoApiMediaUtil(clients);
    try(CloseableIterator<MediaObject> i = util.iterate(null, "vpro-predictions")) {
      i.forEachRemaining(mediaObject -> {
         log.info("{}", i.next());
      });
    }

There are also 'providers' available to configure them easily via spring XML’s or for example XML’s of magnolia CMS (which uses guice)

TODO

  • Document how to wire via spring xml

nl.vpro.api-client

NPO/POMS

Repositories related to POMS and the NPO Frontend API. Maintained by VPRO.

Versions

Version
5.10.0