Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
740 views
in Technique[技术] by (71.8m points)

api - Slim framework and GET/PUT/POST methods

For example, i use this code for testing routes:

$app->get('/api', function () {                         
        echo 'get!';
});
$app->post('/api', function () {                            
        echo 'post!';
});
$app->put('/api', function () {                         
        echo 'put!';
});

For api testing i use RestClient plugin for Chrome.

When i try do GET request, response is 'get!'. Its good.

But:

  1. When i try do POST request, response also is 'get!'. Why? Its must be 'post!'.

  2. When i try do PUT request, (in Response Headers: Allow: GET,HEAD,POST,OPTIONS,TRACE ) Slim response have 405 error (Method Not Allowed) with message:

"The requested method PUT is not allowed for the URL /api."

What am I doing wrong?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Be sure that your .htaccess is the following (from slimphp/[email protected]):

RewriteEngine On

# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
# RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...