Last active
September 5, 2019 03:58
-
-
Save bruceharrison1984/d3903936d3e8123bcb7002e75ba0bfef to your computer and use it in GitHub Desktop.
Example of a C# Asp.net core response envelope
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Net; | |
using Microsoft.AspNetCore.Mvc; | |
namespace WidgetApi.Models | |
{ | |
internal class ResponseEnvelopeResult<T> : ObjectResult where T : class | |
{ | |
/// <summary> | |
/// Data envelope for wrapping responses | |
/// </summary> | |
/// <param name="statusCode">http status code to return</param> | |
/// <param name="data">raw response data</param> | |
/// <param name="error">friendly error string</param> | |
public ResponseEnvelopeResult(HttpStatusCode statusCode = HttpStatusCode.OK, T data = null, object error = null) : base(new ResponseEnvelope<T>(data, error)) | |
{ | |
this.StatusCode = (int)statusCode; | |
} | |
} | |
internal class ResponseEnvelope<T> where T : class | |
{ | |
public T Data { get; } | |
public object Error { get; } | |
public ResponseEnvelope(T data, object error) | |
{ | |
Data = data; | |
Error = error; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment