Skip to content

Ответ сервера всегда понятен пользователю

License

Notifications You must be signed in to change notification settings

Calabonga/OperationResult

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OperationResult

OperationResult is an implementation of RFC7807. In other words, it's simple wrapper for result operation for any returned data from backend, where you can add additional information about problem or other things.

"Частичная реализация" стандарта RFC7807, который определяет в документе следующее:

This document defines a "problem detail" as a way to carry machine- readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs.

Суть в том, что если у вас есть API и в нем есть методы отдающие данные, например Product, то в результате успешного результата вы должны отдать сам объект Product. А вот если по какой-то причине вы не можете отдать конкретный объект (или объекты), тогда вы должные указать по какой причине вы не можете это сделать. Другими словами "детализировать проблему" (problem detail). А как это сделать как раз и описывает стандарт RFC7807.

Почему "Частичная реализация"? Потому что nuget-пакет и, соответственно, потребность в нем появилась задолго до появления стандарта. Постепенно, пакет трансформируется под стандарт, но это может занять некоторое время. Если у вас нет времени ждать, пишите свою реализацию или воспользуйтесь стандартами на платформе ASP.NET Core.

Версии

v4.1.0

  • Добавлена конструкция создания экземпляра сразу с Exception, но при этому с Result = null. Для этого добавлен метод WithException().
  • Добавлено несколько unit-тестов для WithException().

v4.0.2

  • Добавлена структура Empty для того, чтобы не требовался класс для создания объекта OperationResult. Тепер можно использовать Empty для создания OperationResult<T>, если не требуется никакой конкретный класс, но при этом остальные возможности востребованы.
  • Исправлены некоторые недочеты при публикации nuget-пакета.
  • Добавлено несколько unit-тестов.

Репозиторий

GitHub

Пакеты Nuget

Nuget OperationResult

Nuget OperationResultCore

Дополнительно

Статья в блоге 1

Статья в блоге 2

Видео YouTube

About

Ответ сервера всегда понятен пользователю

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages