Skip to content

Open type desirialization utf8 #1720

Open
@guylot

Description

@guylot

OData json desirialization (entity binding) for open type properties, when the open type value contains utf8 string results with utf8 characters instead of readable string.
The controller received the UTF8 ok, then when model binding the odata deserializer gets it wrong.

Assemblies affected

Microsoft.AspNet.OData 7.0.1.20718

Reproduce steps

Post request for any entity with open type property.
For example:

<EntityType Name="X" OpenType="true">
  <Key>
    <PropertyRef Name="id" />
  </Key>
  <Property Name="name" Type="Edm.String" />
  <Property Name="logo" Type="Edm.String" />
</EntityType>

Send post request to create entity :

POST {"name":"ä,ö,ü", "nameOpenType":"ä,ö,ü"}

Expected result

{"name":"ä,ö,ü", "nameOpenType":"ä,ö,ü"}

Actual result

{"name":"ä,ö,ü", "nameOpenType":"\u00e4,\u00f6,\u00fc"}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions