Skip to content

virtual-avatar/slim-rest-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

slim-rest-api

SLIM v4, JSON, CRUD, REST API

Π—Π°Π΄Π°Π½ΠΈΠ΅:

НСобходимо Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ малСнькоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Slim Framework ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ REST API ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ User.

REST API Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности:

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ User
ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка User
ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ User ΠΏΠΎ Id
Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ User ΠΏΠΎ Id
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ User ΠΏΠΎ Id

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 :

  1. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ User

POST запрос Π½Π° адрСс http://.../users

Поля:

{
   "id": "6",
   "name": "Иванов Иван Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡",
   "phome": "+380974563223"
}

ΠžΡ‚Π²Π΅Ρ‚:

{
    "data": {
        "id": "6",
        "name": "Иванов Иван Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡",
        "phome": "+380974563223"
    },
    "code": 1,
    "message": "Π”Π°Π½Π½Ρ‹Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹"
}
  1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка User

GET запрос адрСс http://.../users

ΠžΡ‚Π²Π΅Ρ‚:

[
{
"id": "5",
"name": "Иванов Π’ΠΈΠΊΡ‚ΠΎΡ€ ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‡",
"phone": "+380974563223"
},
{
"id": "1",
"name": "ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² Василий НиколаСвич",
"phone": "+380974563223"
},
{
"id": "2",
"name": "Π‘ΠΈΠ΄ΠΎΡ€ΠΎΠ² Π‘Ρ‚Π΅ΠΏΠ½ Π’Π°ΡΠΈΠ»ΡŒΠ΅Π²ΠΈΡ‡",
"phone": "+380974563223"
}
]
  1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ User ΠΏΠΎ Id

GET запрос адрСс http://.../users/5

ΠžΡ‚Π²Π΅Ρ‚:

{
"data": {
"id": "5",
"name": "Иванов Π’ΠΈΠΊΡ‚ΠΎΡ€ ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‡",
"phome": "+380974563223"
},
"code": 1,
"message": "OK"
}
  1. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ User ΠΏΠΎ Id

PUT запрос адрСс http://.../users/1

{
    "data": [],
    "code": 0,
    "message": "Π”Π°Π½Π½Ρ‹Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹"
}
  1. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ User ΠΏΠΎ Id

DELETE запрос адрСс http://true-conf.local/users/1

{
    "data": [],
    "code": 0,
    "message": "Π”Π°Π½Π½Ρ‹Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹"
}

About

SLIM v4, JSON, CRUD, REST API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages