Ядро приложения aspnet странный тип запроса

Я создаю основное приложение asp.net с плагином debfault aspnetidentitycore, единственное изменение — я добавил действие, изменив метод regiester в api, что означает, что оно может быть вызвано другим приложением.

 [HttpPost]
[AllowAnonymous]
public async Task<EngineResult<object>> RegisterByApi([FromBody]RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new IdentityUser
{
DisplayName = model.Name,
UserName = model.Email,
Email = model.Email,
PhoneNumber = model.PhoneNumber,
};

var result = await _userManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(3, "User created a new account with password.");
return new EngineResult<object>(true) { Entity = new { sub = user.Id, name = user.DisplayName } };
}
return new EngineResult<object>(false) { Entity = string.Join(";", result.Errors?.Select(e => e.Description)) };
}

return new EngineResult<object>(false) { Entity = string.Join(";", ModelState.Values.SelectMany(m => m.Errors).Select(e => e.ErrorMessage)) };
}

но когда php вызывает этот API, я получаю странный тип контента, который
Применение / JSON; граница = ———————— e3f0ef0cc3e74f25

вот код php

<?php
$data = [
"Name"=>"testname",
"Email"=>"[email protected]",
"Password"=>"123qwe!#QWE",
"ConfirmPassword"=>"123qwe!@#QWE",
"PhoneNumber"=>"12312321321",
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://xxxx/Account/RegisterByApi");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
header_remove();
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json'
)
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

Кто-нибудь знает, что здесь происходит?

0

Решение

наконец, это моя проблема с php-кодом, которая не использует данные json, замените данные постов конвертацией в josn, чтобы решить эту проблему:
$ payload = json_encode ($ data);

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]