devnotcom / devnot-mentor-back-end

Devnot Mentor projesinin Back-end ve Rest API kaynak kodlarını içermektedir.
MIT License
69 stars 20 forks source link

Refactor api response #47

Closed halilkocaoz closed 3 years ago

halilkocaoz commented 3 years ago

Bu düzenlemeyi, sadece 200 ve 400 Status kodlarını döndüğümüz için yapma gereği duydum.

[NonAction] protected IActionResult ApiResponse(ApiResponse response) => StatusCode((int)response.StatusCode, response);

* ApiResponse objesinin succes propertysini ctorlardan edinmek kaldırıldı ve ResponseStatus propertysine bakılarak succes olup, olmadığına karar verilmesi sağlandı.
```csharp
public ApiResponse(ResponseStatus status, string message)
{
    StatusCode = status;
    Success = StatusCode < ResponseStatus.BadRequest; //
    Message = message;
}
public SuccessApiResponse(ResponseStatus status, string message) : base(status, message)
{
}
return new SuccesApiResponse(ResponseStatus.Created, "Custom"); // Verisiz, Status kodu: 201, Mesaj: "Custom"

public SuccessApiResponse(ResponseStatus status) : base(status, ResultMessage.Success)
{
}
return new SuccesApiResponse(ResponseStatus.Created); // Verisiz, Status kodu: 201, Sabit Succes mesajı

public SuccessApiResponse() : base(ResponseStatus.Ok, ResultMessage.Success)
{
}
return new SuccesApiResponse(); // Verisiz, Status kodu: 200, Sabit Succes mesajı
public SuccessApiResponse(ResponseStatus status, T data, string message) : base(status, message)
{
    Data = data;
}
return new SuccesApiResponse<T>(ResponseStatus.Created, data, "Custom"); // T verisi, Status kodu: 201, Mesaj: "Custom"

public SuccessApiResponse(ResponseStatus status, T data) : base(status, ResultMessage.Success)
{
    Data = data;
}
return new SuccesApiResponse<T>(ResponseStatus.Created, data); // T verisi, Status kodu: 201, Sabit Succes mesajı

public SuccessApiResponse(T data) : base(ResponseStatus.Ok, ResultMessage.Success)
{
    Data = data;
}
return new SuccesApiResponse<T>(data); // T verisi, Status kodu: 200, Sabit Succes mesajı
public ErrorApiResponse(ResponseStatus status, string message) : base(status, message: message)
{
}
return new ErrorApiResponse(ResponseStatus.Forbid, "Custom"); //Verisiz, Status kodu: 403, Mesaj: "Custom"

public ErrorApiResponse(string message) : base(ResponseStatus.BadRequest, message)
{
}
return new ErrorApiResponse("Custom") //Verisiz, Status kodu: 400, Mesaj: "Custom"
public ErrorApiResponse(ResponseStatus status, T data, string message) : base(status, message: message)
{
    Data = data;
}
return new ErrorApiResponse<T>(ResponseStatus,NotFound, default, "Custom"); // T verisi, Status kodu: 404, Mesajı: "Custom"

public ErrorApiResponse(T data, string message) : base(ResponseStatus.BadRequest, message);
{
    Data = data;
}
return new ErrorApiResponse<T>(default, "Custom"); // T verisi, Status kodu: 400, Mesajı: "Custom"