У меня есть REST API в .Net Core 3 и внешний интерфейс в Angular 8. Мой фронт - это многоязычная админ-панель, где мне нужно настроить цену на продукт. Проблема в том, что я не могу получить цену с десятичными значениями.
Моя стандартная культура .NET Core API - это "en-US", но мой клиент использует "nl-NL" из внешнего интерфейса. Как вы знаете, в Нидерландах они используют "," вместо "."поэтому я не получаю цену в представленной модели. Вот фрагменты кода:
REST API
Сущность
public class Product{
public Guid Id {get;set;}
public string Name {get;set;}
public decimal Price {get;set;}
}
Метод контроллера
[HttpPost]
public Task<IActionResult> SaveProduct([FromForm]Product model){
....code to save the product....
}
Stratup.cs
services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new List<CultureInfo>
{
new CultureInfo("en"),
new CultureInfo("de"),
new CultureInfo("fr"),
new CultureInfo("sv")
};
options.RequestCultureProviders = new List<IRequestCultureProvider>()
{
new AcceptLanguageHeaderRequestCultureProvider()
};
options.FallBackToParentCultures = true;
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
});
Я попытался установить для культуры Requestdefault значение "nl", но тогда значения "en" не работают. Может ли кто-нибудь, пожалуйста, помогите мне, как передать десятичные точки из многоязычного интерфейса в REST API.
Спасибо.