Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

FromBodyAttribute Class

Definition

Namespace:
Microsoft.AspNetCore.Mvc
Assembly:
Microsoft.AspNetCore.Mvc.Core.dll
Package:
Microsoft.AspNetCore.Mvc.Core v1.0.0
Package:
Microsoft.AspNetCore.Mvc.Core v1.1.0
Package:
Microsoft.AspNetCore.App.Ref v10.0.0
Package:
Microsoft.AspNetCore.App.Ref v11.0.0-preview.4.26230.115
Package:
Microsoft.AspNetCore.Mvc.Core v2.0.0
Package:
Microsoft.AspNetCore.Mvc.Core v2.1.0
Package:
Microsoft.AspNetCore.Mvc.Core v2.2.0
Package:
Microsoft.AspNetCore.App.Ref v3.0.1
Package:
Microsoft.AspNetCore.App.Ref v3.1.10
Package:
Microsoft.AspNetCore.App.Ref v5.0.0
Package:
Microsoft.AspNetCore.App.Ref v6.0.36
Package:
Microsoft.AspNetCore.App.Ref v7.0.5
Package:
Microsoft.AspNetCore.App.Ref v8.0.19
Package:
Microsoft.AspNetCore.App.Ref v9.0.8
Source:
FromBodyAttribute.cs
Source:
FromBodyAttribute.cs
Source:
FromBodyAttribute.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Specifies that a parameter or property should be bound using the request body.

public ref class FromBodyAttribute : Attribute, Microsoft::AspNetCore::Mvc::ModelBinding::IBindingSourceMetadata
[System.AttributeUsage(System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false, Inherited=true)]
public class FromBodyAttribute : Attribute, Microsoft.AspNetCore.Mvc.ModelBinding.IBindingSourceMetadata
[System.AttributeUsage(System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false, Inherited=true)]
public class FromBodyAttribute : Attribute, Microsoft.AspNetCore.Http.Metadata.IFromBodyMetadata, Microsoft.AspNetCore.Mvc.ModelBinding.IBindingSourceMetadata
[<System.AttributeUsage(System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false, Inherited=true)>]
type FromBodyAttribute = class
 inherit Attribute
 interface IBindingSourceMetadata
[<System.AttributeUsage(System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false, Inherited=true)>]
type FromBodyAttribute = class
 inherit Attribute
 interface IBindingSourceMetadata
 interface IFromBodyMetadata
Public Class FromBodyAttribute
Inherits Attribute
Implements IBindingSourceMetadata
Public Class FromBodyAttribute
Inherits Attribute
Implements IBindingSourceMetadata, IFromBodyMetadata
Inheritance
FromBodyAttribute
Attributes
Implements

Examples

In this example, the value of the 'name' field in the form-data request body is bound to the name parameter, and the value of the 'age' field is bound to the age parameter.

app.MapPost("/from-body", ([FromBody] Person person) => person);

public record Person(string Name, int Age);

If the EmptyBodyBehavior is set to EmptyBodyBehavior.Allow in the FromBody attribute, requests without a request body are allowed.

app.MapPost("/allow-empty-body",
(
 [Description("An optional request body")]
 [FromBody(EmptyBodyBehavior = EmptyBodyBehavior.Allow)] Body body
) =>

Remarks

Binds a parameter or property to the request body.

By default, ASP.NET Core MVC delegates the responsibility of reading the body to an input formatter.
In the case of ASP.NET Core Minimal APIs, the body is deserialized by JsonSerializer.

For more information about parameter binding see Parameter binding.

Constructors

Name Description
FromBodyAttribute()

Properties

Name Description
BindingSource

Gets the BindingSource.

EmptyBodyBehavior

Gets or sets a value which decides whether body model binding should treat empty input as valid.

Explicit Interface Implementations

Name Description
IFromBodyMetadata.AllowEmpty

Applies to


Feedback

Was this page helpful?