nginx configuration for a RESTful API

后端 未结 2 1640
走了就别回头了
走了就别回头了 2021-02-08 06:34

I am a beginner with nginx and php, so please excuse my basic question.

For a RESTful based API (nginx + php) I would need some help with nginx configuration.

H

相关标签:
2条回答
  • 2021-02-08 06:40

    Replace this:

    location /api/v1/ {
        try_files $uri $uri/ /apiv1.php?$args;
    }
    

    With the following inside your server block:

    rewrite ^/api/v1/([^/]+)/([^/]+)/?$ /apiv1.php?class=$1&method=$2? last;
    

    Create a php file called apiv1.php and place in the root directory of your web server with the following lines of code:

    <?php
    $class  = filter_input(INPUT_GET, 'class',  FILTER_SANITIZE_STRING);
    $method = filter_input(INPUT_GET, 'method', FILTER_SANITIZE_STRING);
    
    echo $class;
    echo '<br />';
    echo $method;
    

    Test by visiting the following link in your browser:

    http://myServer/api/v1/members/getInfo
    
    0 讨论(0)
  • 2021-02-08 06:50

    If someone else hit this page, there is solution I got for myself after a bit research:

    location ~ ^/api/v0/(.*)/?$ {
        try_files $uri $uri/ /v0.php?req=$1&$args;
    }
    

    Here I'm not limited with class/method structure and location seems more readable than rewrite.

    0 讨论(0)
提交回复
热议问题