zssn
1.0.0
Разработка ZSSN в Laravel 6.5 с базой данных Postgresql 10.
Прежде всего, вам необходимо настроить композитор и PHP (7,2 или более) в вашей среде.
Теперь вам нужно клонировать этот проект вам ПК.
После клона этот проект запустите композитор для установки всех зависимостей.
composer install
ОК, давайте конфигурируем теперь базу данных, сначала вам нужно копировать .env.example to .env В корне проекта Env.example является примером того, как вы настраиваете свою среду.
С настройкой базы данных, давайте перейдем к созданию нашего мигрирования и заполнить ее ..
php artisan migrate
php artisan db:seed
Затем запустите php artisan serve , и он будет доступен по адресу http: // localhost: 8000/api
GET /survivors
Content-Type: "application/json"
200 Created
Content-Type: "application/json"
"data": [
{
"id": 2,
"name": "Gilberto Doyle",
"age": 47,
"gender": "Male",
"latitude": "18158.1727552",
"longitude": "261575.5293",
"infected": false,
"created_at": "2019-11-29 17:10:49",
"updated_at": "2019-11-29 17:10:49",
"reportsCount": 0
},
{
"id": 3,
"name": "Prof. Nico Yundt",
"age": 54,
"gender": "Female",
"latitude": "5.11093238",
"longitude": "48425886",
"infected": false,
"created_at": "2019-11-29 17:10:49",
"updated_at": "2019-11-29 17:10:49",
"reportsCount": 0
}
]
GET /:survivors/{id}
Content-Type: "application/json"
| Атрибут | Описание |
|---|---|
| идентификатор | Выживший идентификатор |
200 Ok
Content-Type: "application/json"
{
"id": 1,
"name": "Miss Rhoda Abbott PhD",
"age": 55,
"gender": "Male",
"latitude": "116.4865271",
"longitude": "6211846.638",
"infected": false,
"created_at": "2019-11-29 17:10:49",
"updated_at": "2019-11-29 17:10:49",
"resources": [
{
"description": "Water",
"points": 4
},
{
"description": "Ammunition",
"points": 1
}
],
"reportsCount": 0
}
POST /survivors
Content-Type: "application/json"
{
"name": "Willardy Tyrone",
"age": 19,
"gender": "Male",
"latitude": "1522255.09052",
"longitude": "1336523.1439",
"infected": false
}
201 Created
Content-Type: "application/json"
{
"msg": "Survivor created at success"
}
| Атрибут | Описание |
|---|---|
| идентификатор | Выживший идентификатор |
PUT /:survivors/{id}
Content-Type: "application/json"
201 Ok
Content-Type: "application/json"
{
"msg": "Survivor updated at success"
}
POST /:survivors/{survivorReport}/report_infection/{survivorReported}
Content-Type: "application/json"
| Атрибут | Описание |
|---|---|
| SurvivorReport | Выживший идентификатор |
| SurvivorReport | Выживший идентификатор |
200 Ok
Content-Type: "application/json"
{
"msg": "Unconfirmed infection!"
}
200 Ok
Content-Type: "application/json"
{
"msg": "Survivor infected!"
}
400 Ok
Content-Type: "application/json"
{
"msg": "Report already created"
}
200 Ok
Content-Type: "application/json"
GET /reports/percentInfected
Content-Type: "application/json"
200 Ok
Content-Type: "application/json"
{
"msg": "37% of survivors are infected"
}
200 Ok
Content-Type: "application/json"
GET /reports/percentNonInfected
Content-Type: "application/json"
{
"msg": "37% of survivors are not infected"
}
200 Ok
Content-Type: "application/json"
GET /reports/averageAmount
Content-Type: "application/json"
"data": {
"Water": 0.2857142857142857,
"Food": 0.2857142857142857,
"Medication": 0.14285714285714285,
"Ammunition": 1.5714285714285714
}
200 Ok
Content-Type: "application/json"
GET /reports/pointsLost/{id}
Content-Type: "application/json"
200 Ok
Content-Type: "application/json"
{
"message": "Survivor not infected, not yet"
}
200 Ok
Content-Type: "application/json"
{
"pointsLost": 4
}
200 Ok
Content-Type: "application/json"
PUT /traders/{survivorOften}/tradeItems/{survivorAceppt}
Content-Type: "application/json"
200 Ok
Content-Type: "application/json"
{
"erro": "Survivor are equals"
}
200 Ok
Content-Type: "application/json"
{
"msg": "Trade is done."
}
404 Ok
Content-Type: "application/json"
{
"erro": "Survivor not found"
}