ΠΠ·Π»Π΅Π·Π΅ EasyREST 0.8, Π»Π΅ΠΊΠΎ ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌ REST-ΡΠ΅ΡΠ²ΠΈΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° CRUD ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π½ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Go ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π‘Π£ΠΠ (SQLite, MySQL, PostgreSQL, Redis). ΠΠΎΠ΄ΡΡ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠΈΡ Apache 2.0. ΠΠ° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡ ΡΠ°ΠΉΠ» ΠΈ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π² YAML ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π‘Π£ΠΠ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΡΠ΅Π· ΠΏΡΠΈΡΡΠ°Π²ΠΊΠΈ (SQLite, MySQL, PostgreSQL, Redis).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° HTTP ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· ETag.
- ΠΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΡΡΡΠ²ΡΡ ΡΡΠ΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Β«scopeΒ» ΠΈ JWT (ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π·Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ).
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ΅Π½ Π΄ΠΎΡΡΡΠΏ (Π±Π΅Π· JWT ΡΠΎΠΊΠ΅Π½) ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Β«claimsΒ» Π·Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π· API.
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π° Π΅ Π³ΡΠ΅ΡΠΊΠ°, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Ρ If-None-Match ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΡΡΠ½Π΅ ΠΊΠΎΠ΄ 304 ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡΠ°.
- Π£Π²Π΅Π»ΠΈΡΠ΅Π½Π° Π΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Swagger ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° API.
- ΠΠ° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡΡΠ°, ΠΊΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
