using System.Threading.Tasks; namespace EmbedIO.WebApi { /// /// Represents an attribute, applied to a parameter of a web API controller method, /// that causes the parameter to be passed deserialized data from a request. /// /// The type of the controller. /// The type of the data. /// public interface IRequestDataAttribute where TController : WebApiController where TData : class { /// /// Asynchronously obtains data from a controller's context. /// /// The controller. /// The name of the parameter that has to receive the data. /// a whose result will be the data /// to pass as a parameter to a controller method. Task GetRequestDataAsync(TController controller, string parameterName); } }