mod-kb-ebsco-java (v1)

https://github.com/folio-org/mod-kb-ebsco-java

Table of contents

mod-kb-ebsco-java

Implements the eholdings interface using EBSCO KB as backend.

Proxy Types

List of supported proxy types for a given customer.

GET /eholdings/proxy-types

Get a list of supported proxy types.

GET /eholdings/proxy-types

Response 200

OK

Body

Media type: application/vnd.api+json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Proxy Types Schema",
  "description": "Proxy Types Schema",
  "javaType": "org.folio.rest.jaxrs.model.ProxyTypes",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "data": {
      "type": "array",
      "description": "List of proxy types for a given customer",
      "items": {
        "type": "object",
        "$ref": "proxyTypesData.json"
      }
    },
    "jsonapi": {
      "type": "object",
      "description": "version of json api",
      "$ref": "../jsonapi.json"
    }
  },
  "required": [
    "data"
  ]
}

Example:

{
  "data": [
    {
      "id": "<n>",
      "type": "proxyTypes",
      "attributes": {
        "id": "<n>",
        "name": "None",
        "urlMask": ""
      }
    },
    {
      "id": "EZProxy",
      "type": "proxyTypes",
      "attributes": {
        "id": "EZProxy",
        "name": "EZProxy",
        "urlMask": "http://ezproxy.myinstitute.edu/login?url={targetURL}"
      }
    },
    {
      "id": "TestingFolio",
      "type": "proxyTypes",
      "attributes": {
        "id": "TestingFolio",
        "name": "TestingFolio",
        "urlMask": "https://folio.frontside.io"
      }
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Root Proxy

Root Proxy that is currently selected from proxy-type list.

GET /eholdings/root-proxy

Get the ID of root proxy that is currently selected from proxy-type list.

GET /eholdings/root-proxy

Response 200

OK

Body

Media type: application/vnd.api+json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Root Proxy Schema",
  "description": "Root Proxy Schema",
  "javaType": "org.folio.rest.jaxrs.model.RootProxy",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "data": {
      "type": "object",
      "description": "Details of root proxy set for a given customer",
      "$ref": "rootProxyData.json"
    },
    "jsonapi": {
      "type": "object",
      "description": "version of json api",
      "$ref": "../jsonapi.json"
    }
  },
  "required": [
    "data"
  ]
}

Example:

{
  "data": {
    "id": "root-proxy",
    "type": "rootProxies",
    "attributes": {
      "id": "root-proxy",
      "proxyTypeId": "EZProxy"
    }
  },
  "jsonapi": {
    "version": "1.0"
  }
}

PUT /eholdings/root-proxy

Update root-proxy for a given customer.

PUT /eholdings/root-proxy
Headers
  • Content-Type: required (string)

    Example:

    application/vnd.api+json
Body

Media type: application/vnd.api+json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Root Proxy Put Request Schema",
  "description": "Root Proxy Put Request Schema using JSON API",
  "javaType": "org.folio.rest.jaxrs.model.RootProxyPutRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "data": {
      "type": "object",
      "description": "Data object of root proxy put request",
      "$ref": "rootProxyPutData.json"
    }
  }
}

Example:

{
  "data": {
    "id": "root-proxy",
    "type": "rootProxies",
    "attributes": {
      "id": "root-proxy",
      "proxyTypeId": "EZProxy"
    }
  }
}

Response 200

OK

Body

Media type: application/vnd.api+json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Root Proxy Schema",
  "description": "Root Proxy Schema",
  "javaType": "org.folio.rest.jaxrs.model.RootProxy",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "data": {
      "type": "object",
      "description": "Details of root proxy set for a given customer",
      "$ref": "rootProxyData.json"
    },
    "jsonapi": {
      "type": "object",
      "description": "version of json api",
      "$ref": "../jsonapi.json"
    }
  },
  "required": [
    "data"
  ]
}

Example:

{
  "data": {
    "id": "root-proxy",
    "type": "rootProxies",
    "attributes": {
      "id": "root-proxy",
      "proxyTypeId": "EZProxy"
    }
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Response 422

Unprocessable Entity

Body

Media type: application/vnd.api+json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Error Response Schema",
  "description": "Error Response Schema for JSON API",
  "javaType": "org.folio.rest.jaxrs.model.JsonapiError",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "errors": {
      "type": "array",
      "description": "Error Response List",
      "items": {
        "type": "object",
        "$ref": "jsonapiErrorResponse.json"
      }
    },
    "jsonapi": {
      "type": "object",
      "description": "JSON API Version",
      "$ref": "jsonapi.json"
    }
  }
}

Example:

{
  "errors": [
    {
      "title": "Invalid id",
      "detail": "Id :Invalid proxy",
      "source": {}
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}