Сейчас мы пишем новый проект с веб-API ASP.NET Core 8 с Angular, но я есть проблемы со столбцами json.
Давайте приведем пример
База данных:
Код: Выделить всё
create table users
(
user_id bigserial,
username character varying[50],
fullname character varying[200],
password character varying[300],
salt character varying[300],
frontends_field jsonb,
adress_data jsonb
)
public class User
{
[Required]
public long? User_Id { get; set; }
[Required]
[MaxLength(50)]
public string UserName { get; set; } = string.Empty;
[Required]
[MaxLength(200)]
public string FullName { get; set; } = string.Empty;
[Required]
[MaxLength(300)]
public string Password { get; set; } = string.Empty;
[MaxLength(300)]
public string Salt { get; set; } = string.Empty;
public ??WHICH_TYPE?? frontends_field { get; set; }
public ??WHICH_TYPE?? adress_data { get; set; }
}
public class Adress_Data
{
public string? adress_name { get; set; }
public string? streetinfo { get; set; }
public string? buildinginfo { get; set; }
public string? city { get; set; }
}
Код: Выделить всё
[HttpPost]
public async Task PostUser([FromBody] User req)
{
try
{
using var MyCnt = _db.GetConnection(); //Npgsqlconnection here
{
string MySql = """
INSERT INTO public.users (username, fullname, password, salt, frontends_field, adress_data)
VALUES (@username, @fullname, @password, @salt, @frontends_field, @adress_data)
returning *;
""";
var result = await MyCnt.QueryFirstOrDefaultAsync(MySql,req);
return Ok(result);
}
}
catch (Exception ex)
{
return BadRequest(ex);
}
}
Код: Выделить всё
{
"username" : "johndoe",
"fullname" : "John DOE",
"password" : "Please_123",
"salt" "asdşfmi
Подробнее здесь: [url]https://stackoverflow.com/questions/78812332/asp-net-core-8-web-api-c-sharp-dapper-postgresql-jsonb-column-saving-and-s[/url]