SLIM v4, JSON, CRUD, REST API
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Slim Framework ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ REST API ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΡΠ½ΠΎΡΡΡΡ User.
REST API Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
REST API Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ JSON.
Π‘ΡΡΠ½ΠΎΡΡΡ User Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡΠΎΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π΅ΡΠ΅ Π½ΡΠΆΠ½ΡΠΌ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄Π°Π½Π½ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON.
git clone https://github.com/virtual-avatar/slim-rest-api.git
composer update
ΠΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ public ΡΠ°ΠΉΠ» .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
# If the above doesn't work you might need to set the `RewriteBase` directive manually, it should be the
# absolute physical path to the directory that contains this htaccess file.
# RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ SLIM v4
REST API :
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ User
POST Π·Π°ΠΏΡΠΎΡ Π½Π° Π°Π΄ΡΠ΅Ρ http://.../users
ΠΠΎΠ»Ρ:
{
"id": "6",
"name": "ΠΠ²Π°Π½ΠΎΠ² ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ",
"phome": "+380974563223"
}
ΠΡΠ²Π΅Ρ:
{
"data": {
"id": "6",
"name": "ΠΠ²Π°Π½ΠΎΠ² ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ",
"phome": "+380974563223"
},
"code": 1,
"message": "ΠΠ°Π½Π½ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ"
}
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° User
GET Π·Π°ΠΏΡΠΎΡ Π°Π΄ΡΠ΅Ρ http://.../users
ΠΡΠ²Π΅Ρ:
[
{
"id": "5",
"name": "ΠΠ²Π°Π½ΠΎΠ² ΠΠΈΠΊΡΠΎΡ ΠΠΈΡ
Π°ΠΉΠ»ΠΎΠ²ΠΈΡ",
"phone": "+380974563223"
},
{
"id": "1",
"name": "ΠΠ΅ΡΡΠΎΠ² ΠΠ°ΡΠΈΠ»ΠΈΠΉ ΠΠΈΠΊΠΎΠ»Π°Π΅Π²ΠΈΡ",
"phone": "+380974563223"
},
{
"id": "2",
"name": "Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘ΡΠ΅ΠΏΠ½ ΠΠ°ΡΠΈΠ»ΡΠ΅Π²ΠΈΡ",
"phone": "+380974563223"
}
]
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ User ΠΏΠΎ Id
GET Π·Π°ΠΏΡΠΎΡ Π°Π΄ΡΠ΅Ρ http://.../users/5
ΠΡΠ²Π΅Ρ:
{
"data": {
"id": "5",
"name": "ΠΠ²Π°Π½ΠΎΠ² ΠΠΈΠΊΡΠΎΡ ΠΠΈΡ
Π°ΠΉΠ»ΠΎΠ²ΠΈΡ",
"phome": "+380974563223"
},
"code": 1,
"message": "OK"
}
- Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ User ΠΏΠΎ Id
PUT Π·Π°ΠΏΡΠΎΡ Π°Π΄ΡΠ΅Ρ http://.../users/1
{
"data": [],
"code": 0,
"message": "ΠΠ°Π½Π½ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ"
}
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ User ΠΏΠΎ Id
DELETE Π·Π°ΠΏΡΠΎΡ Π°Π΄ΡΠ΅Ρ http://true-conf.local/users/1
{
"data": [],
"code": 0,
"message": "ΠΠ°Π½Π½ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Ρ"
}