/src/System.Web.Http/FromBodyAttribute.cs
https://github.com/huyq2002/aspnetwebstack · C# · 31 lines · 22 code · 4 blank · 5 comment · 2 complexity · b9bce346803d3b0aa333fd8a2901bb64 MD5 · raw file
- // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
- using System.Collections.Generic;
- using System.Net.Http;
- using System.Net.Http.Formatting;
- using System.Web.Http.Controllers;
- using System.Web.Http.Validation;
- namespace System.Web.Http
- {
- /// <summary>
- /// This attribute is used on action parameters to indicate
- /// they come only from the content body of the incoming <see cref="HttpRequestMessage"/>.
- /// </summary>
- [AttributeUsage(AttributeTargets.Class | AttributeTargets.Parameter, Inherited = true, AllowMultiple = false)]
- public sealed class FromBodyAttribute : ParameterBindingAttribute
- {
- public override HttpParameterBinding GetBinding(HttpParameterDescriptor parameter)
- {
- if (parameter == null)
- {
- throw Error.ArgumentNull("parameter");
- }
- IEnumerable<MediaTypeFormatter> formatters = parameter.Configuration.Formatters;
- IBodyModelValidator validator = parameter.Configuration.Services.GetBodyModelValidator();
- return parameter.BindWithFormatter(formatters, validator);
- }
- }
- }