{"id":23122791,"url":"https://github.com/folio-org/okapi","last_synced_at":"2026-01-05T12:22:58.562Z","repository":{"id":10695997,"uuid":"49057615","full_name":"folio-org/okapi","owner":"folio-org","description":"Okapi core and modules","archived":false,"fork":false,"pushed_at":"2025-03-12T14:26:40.000Z","size":9771,"stargazers_count":128,"open_issues_count":14,"forks_count":83,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-04-04T02:05:53.252Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/folio-org.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-05T09:59:37.000Z","updated_at":"2025-03-18T16:53:38.000Z","dependencies_parsed_at":"2023-01-17T00:01:31.568Z","dependency_job_id":"740c83db-6a1b-4f8e-8ddb-1f8eed7065fa","html_url":"https://github.com/folio-org/okapi","commit_stats":null,"previous_names":[],"tags_count":207,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fokapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fokapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fokapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fokapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/folio-org","download_url":"https://codeload.github.com/folio-org/okapi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248639331,"owners_count":21137825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-17T07:30:28.088Z","updated_at":"2026-01-05T12:22:58.543Z","avatar_url":"https://github.com/folio-org.png","language":"Java","funding_links":[],"categories":["API网关"],"sub_categories":[],"readme":"# Okapi — a multitenant API Gateway\n\nCopyright (C) 2015-2025 The Open Library Foundation\n\nThis software is distributed under the terms of the Apache License,\nVersion 2.0. See the file \"[LICENSE](LICENSE)\" for more information.\n\n## System requirements\n\nThe Okapi software has the following compile-time dependencies:\n\n* Java 21\n\n* Apache Maven 3.8.x or higher\n\nThe test suite has these additional dependencies:\n\n* Docker, for details see https://java.testcontainers.org/supported_docker_environment/\n\n* Ports 9230-9239 must be free\n\n*Note: If tests fail, the API Gateway may be unable in some cases to\nshut down microservices that it has spawned, and they may need to be\nterminated manually.*\n\n## Quick start\n\nBefore buliding, make sure your `$JAVA_HOME` environment variable is set correctly.\n\nThis can be done by one of the three ways described below:\n\n1. For e.g., on Debain(and Debian-based) distros, run the following command to set the\n`$JAVA_HOME` for the current session:\n\n```\n  $ export JAVA_HOME=`readlink -f /usr/bin/javac | sed \"s:bin/javac::\"`\n```\n\n\n2. Or, you can add the following at the end of the ``~/.profile`` for persistently setting ``$JAVA_HOME`` :\n\n```\n  $ echo export JAVA_HOME=`readlink -f /usr/bin/javac | sed \"s:bin/javac::\"` \u003e\u003e ~/.profile\n```\n\nThen run:\n\n```\n  $ source ~/.profile\n```\n\n\nYou may need to log out and log in again or reboot for these changes to take effect.\n\nThis can be also achieved with [sdkman](https://sdkman.io) which allows you to install local\nversion of java, maven, etc.\n\nTo build and run:\n\n    $ mvn install\n    $ mvn exec:exec\n\nOkapi listens on port 9130.\n\nTo build without running the test suite:\n\n    $ mvn install -DskipTests\n\n## Developers\n\nWhen running unit tests, property `testStorage` controls what storage\nto use. It has a default value of `inmemory,postgres,mongo`.\nTests will complete faster by specifying one storage type only.\n\nFor example:\n\n    $ mvn -DtestStorage=inmemory install\n\nWhen filing bug reports with unit test output, always use Maven\noption `-B` to avoid control characters in output.\n\n## Docker image\n\nAt Docker Hub:\n\n* https://hub.docker.com/r/folioorg/okapi released versions\n* https://hub.docker.com/r/folioci/okapi snapshot versions\n\nSee [Automation/Docker Hub](https://dev.folio.org/guides/automation/#docker-hub) for details.\n\nDocker images are the primary distribution model for FOLIO modules.\nTo run the images you will need the Docker Engine or Docker Desktop\nruntime.\n\n## Issue tracker\n\nSee project [OKAPI](https://issues.folio.org/browse/OKAPI) at the\n[FOLIO issue tracker](https://dev.folio.org/guidelines/issue-tracker)\n\n## Documentation\n\n* [Okapi Guide and Reference](doc/guide.md)\n* API: [RAML and schemas](okapi-core/src/main/raml) and generated [API documentation](https://dev.folio.org/reference/api/#okapi)\n* [Documentation index](doc/index.md)\n* [Contributing guidelines](CONTRIBUTING.md)\n* [Securing](doc/securing.md) in the doc directory shows how to enable\n  security-related modules.\n* [Folio Sample Modules](https://github.com/folio-org/folio-sample-modules). There is\na decent README, and some minimal sample modules to get started with\n* Other FOLIO Developer documentation is at\n  [dev.folio.org](https://dev.folio.org/)\n\n## Code analysis\n\n[SonarQube analysis](https://sonarcloud.io/project/overview?id=org.folio.okapi%3Aokapi)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolio-org%2Fokapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffolio-org%2Fokapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolio-org%2Fokapi/lists"}