Data Repository API
Project description
This document defines the REST API for Data Repository. Status: design in progress There are four top-level endpoints (besides some used by swagger): * /swagger-ui.html - generated by swagger: swagger API page that provides this documentation and a live UI for submitting REST requests * /status - provides the operational status of the service * /api - is the authenticated and authorized Data Repository API * /ga4gh/drs/v1 - is a transcription of the Data Repository Service API The overall API (/api) currently supports two interfaces: * Repository - a general and default interface for initial setup, managing ingest and repository metadata * Resource - an interface for managing billing accounts and resources The API endpoints are organized by interface. Each interface is separately versioned. ## Notes on Naming All of the reference items are suffixed with "Model". Those names are used as the class names in the generated Java code. It is helpful to distinguish these model classes from other related classes, like the DAO classes and the operation classes. ## Editing and debugging I have found it best to edit this file directly to make changes and then use the swagger-editor to validate. The errors out of swagger-codegen are not that helpful. In the swagger-editor, it gives you nice errors and links to the place in the YAML where the errors are. But… the swagger-editor has been a bit of a pain for me to run. I tried the online website and was not able to load my YAML. Instead, I run it locally in a docker container, like this: ``` docker pull swaggerapi/swagger-editor docker run -p 9090:8080 swaggerapi/swagger-editor ``` Then navigate to localhost:9090 in your browser. I have not been able to get the file upload to work. It is a bit of a PITA, but I copy-paste the source code, replacing what is in the editor. Then make any fixes. Then copy-paste the resulting, valid file back into our source code. Not elegant, but easier than playing detective with the swagger-codegen errors. This might be something about my browser or environment, so give it a try yourself and see how it goes. ## Merging the DRS standard swagger into this swagger ## The merging is done in three sections: 1. Merging the security definitions into our security definitions 2. This section of paths. We make all paths explicit (prefixed with /ga4gh/drs/v1) All standard DRS definitions and parameters are prefixed with 'DRS' to separate them from our native definitions and parameters. We remove the x-swagger-router-controller lines. 3. A separate part of the definitions section for the DRS definitions NOTE: the code here does not relect the DRS spec anymore. See DR-409. # noqa: E501
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for data_repo_client-1.276.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de102296a5b362e4d035605c5278fae8af1fab88faafe8ddc48a0ef8ecf628d6 |
|
MD5 | 95c62b0f28c623066cbac323b2359861 |
|
BLAKE2b-256 | 91ad94a66658fc70b86e7136ffc69b81314c069bb091e5e3179b468f89a5173a |