nypl/microservice-starter

此包的最新版本(1.2.29)没有提供许可证信息。

NYPL 微服务启动器

1.2.29 2018-08-31 14:53 UTC

README

此包旨在用作基于PHP的NYPL微服务的启动包。

此包遵循 PSR-1PSR-2PSR-4(使用 Composer 自动加载器)。

安装

通过 Composer

"require": {
    "nypl/microservice-starter": "~0.1"
}

要求

特性

  • RESTful HTTP 框架(Slim
  • 数据库 PDO 库(Slim-PDO
  • Kafka 消息发布(Rdkafka
  • Avro 序列化器(Avro
  • Swagger 文档生成器(swagger-php
  • 错误日志(Monolog
  • 通过 NYPL API 网关进行身份验证/JWT(X-NYPL-Identity

使用方法

HTTP/API 服务器

查看 samples/service 目录以了解如何创建示例服务。

基本示例

创建一个包含 Service 对象和您的 Slim 路由的 index.php

$service = new NYPL\Starter\Service();

$service->get("/v0.1/bibs", function (Request $request, Response $response) {
    $controller = new Controller\BibController($request, $response);
    return $controller->getBibs();
});

配置您的网络服务器以在所有请求中加载 index.php。请参阅 samples/service-config 目录以获取 Apache .htaccess 或 Nginx nginx.conf 安装示例配置文件。

Swagger 文档生成器

创建一个 Swagger 路由以生成 Swagger 规范文档

$service->get("/swagger", function (Request $request, Response $response) {
    return SwaggerGenerator::generate(__DIR__ . "/src", $response);
});