client-core

Clients for NPO API's

License

License

Categories

Categories

CLI User Interface
GroupId

GroupId

nl.vpro.api-client
ArtifactId

ArtifactId

client-core
Last Version

Last Version

5.10.0
Release Date

Release Date

Type

Type

jar
Description

Description

client-core
Clients for NPO API's
Project Organization

Project Organization

NPO

Download client-core

How to add to project

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

Dependencies

compile (2)

Group / Artifact Type Version
org.apache.httpcomponents : httpclient jar 4.5.6
org.apache.commons : commons-lang3 jar 3.8.1

test (1)

Group / Artifact Type Version
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