- It is created for consumption of KelimeDefteri2 made with Angular.
=> EF Core 7
=> MsSql
=> AutoMapper
=> Fluent Validation
=> MediatR
=> XUnit
=> CORS allowed for all origins and methods for now.
=> RateLimiter enabled using FixedWindow Algorithm.
![Table Relations](./Documents/Pics/KelimeDefteriERD.png)
{
"words": [
{
"name": "string",
"definitions": [
{
"definition": "string",
"definitionType": "string"
}
]
}
]
}
{
"created": "string",
"words": [
{
"name": "string",
"definitions": [
{
"definition": "string",
"definitionType": "string"
}
]
}
]
}
Code: 400 BadRequest | Message: {Validation Error}
GET {host}/api/wordbook/{id}
{
"created": "string",
"words": [
{
"name": "string",
"definitions": [
{
"definition": "string",
"definitionType": "string"
}
]
}
]
}
Code: 404 NotFound | Message: "Record with provided id is not found"
Get Record By Word Or Date
GET {host}/api/wordbook/{search:string}
{
"created": "string",
"words": [
{
"name": "string",
"definitions": [
{
"definition": "string",
"definitionType": "string"
}
]
}
]
}
Code: 404 NotFound | Message: "Record with provided date or word is not found"
Code: 400 BadRequest | Message: "Given word has multiple records, please provide date instead."
GET {host}/api/wordbook/last
{
"created": "string",
"words": [
{
"name": "string",
"definitions": [
{
"definition": "string",
"definitionType": "string"
}
]
}
]
}
Code: 404 NotFound | Message: "Last record doesn't exist yet."