wandersonwhcr/rest-romans

将罗马数字转换为阿拉伯数字以及反之的最无用的网络服务

dev-main 2021-04-03 14:47 UTC

This package is auto-updated.

Last update: 2024-08-29 05:55:17 UTC


README

将罗马数字转换为阿拉伯数字以及反之的最无用的网络服务

描述

本项目提供了一个RESTful服务,用于将罗马数字转换为阿拉伯数字,反之亦然。简单明了。此外,它使用PHP和Romans库编写。

安装

您可以从源代码构建此服务,但已准备好可用的Docker镜像。该镜像基于PHP-FPM,您必须使用HTTP服务作为辅助,例如NGINX。

cat > default.conf.template <<'EOF'
server {
    listen 80;

    root /var/www/html/public;
    index index.php;
    try_files $uri $uri/ /index.php;

    location ~* \.php$ {
        fastcgi_pass romans:9000;

        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME     $fastcgi_script_name;
    }
}
EOF

docker network create romans

docker run \
    --detach \
    --name romans \
    --network romans \
    --publish 9000 \
    wandersonwhcr/romans

docker run \
    --detach \
    --name romans-http \
    --network romans \
    --publish 80:80 \
    --volume "`pwd`/default.conf.template:/etc/nginx/templates/default.conf.template" \
    nginx

Docker Compose

此外,您还可以使用docker-compose来执行此服务。请记住,从上一节创建default.conf.template文件。

version: "3"

services:

  romans:
    image: "wandersonwhcr/romans"
    networks:
    - romans
    ports:
    - "9000"

  romans-http:
    image: "nginx"
    networks:
    - romans
    ports:
    - "80:80"
    volumes:
    - "./default.conf.template:/etc/nginx/templates/default.conf.template"

networks:
  romans:

使用

作为一个RESTful服务,它提供了两个端点用于转换。以下示例使用curl发送请求将1999从阿拉伯数字转换为罗马数字。

curl http://localhost/v1/arabics/1999 \
    --include \
    --request GET \
    --header 'Accept: application/json'
HTTP/1.1 200 OK
Content-Type: application/json

{"arabic":"1999","roman":"MCMXCIX"}

还有另一个端点用于将罗马数字转换为阿拉伯数字,如下面的示例所示。

curl http://localhost/v1/romans/MCMXCIX \
    --include \
    --request GET \
    --header 'Accept: application/json'
HTTP/1.1 200 OK
Content-Type: application/json

{"arabic":"1999","roman":"MCMXCIX"}

开发

您可以使用Docker Compose从本项目构建镜像并运行容器以开发和测试此软件包。

docker-compose build
docker-compose run php-fpm composer install
docker-compose run php-fpm composer test

许可证

本项目是开源的,可在LICENSE中描述的MIT许可证下使用。