Hepsiburada Backend Bootcamp 1.Hafta Ödevi
Temel CRUD işlemleri ile ilaç kaydı yapılabilen bir resful Web-API projesi. Swagger desteği eklenmiştir. Database olarak kod içerisinde oluşturulan basit bir liste kullanılmaktadır.
[
{
"id": 1,
"name": "abcd",
"company": "X",
"unitsInStock": 15,
"unitPrice": 10,
"expirationDate": "2021-10-25T00:00:00",
"details": null
},
{
"id": 2,
"name": "bcde",
"company": "Y",
"unitsInStock": 1,
"unitPrice": 15,
"expirationDate": "2022-01-15T00:00:00",
"details": null
},
{
"id": 3,
"name": "abde",
"company": "X",
"unitsInStock": 20,
"unitPrice": 5,
"expirationDate": "2021-11-05T00:00:00",
"details": null
},
{
"id": 4,
"name": "fgh",
"company": "Y",
"unitsInStock": 36,
"unitPrice": 8,
"expirationDate": "2022-12-05T00:00:00",
"details": null
},
{
"id": 5,
"name": "dcba",
"company": "Y",
"unitsInStock": 5,
"unitPrice": 4,
"expirationDate": "2021-10-25T00:00:00",
"details": null
}
]
Post ile body içerisinde gönderilen ilacı ekler.
Get ile kullanıldığında routerdan gelen id'ye sahip ilaçı getirir.
Put ile kullanıldığında routerdan gelen id'ye sahip ilacı güncellemek için body içerisindeki ilacı kullanır.
Delete ile kullanıldığında routerdan gelen id'ye sahip ilac silinir.
Get ile kullanıldığında bütün ilaçları databasedeki sıralamaya göre listeler.
Get ile kullanıldığında istenilen alanda istenilen değer sorgulanabilir. Örneğin api/v1/ilaclar/List?list=Company="Y"
yapıldığında Y firmasının ilaçları listelenir.
Get ile kullanıldığında verilen alana göre sıralanır. Örneğin /api/v1/ilaclar/Sort?sort=name
yapıldığında bütün veriler isme göre alfabetik sıralanır.
Sort ve list özellikleri için System.Linq.Dynamic.Core
paketinin sorgularda string kullanabilme işlevi kullanılmıştır.