есть метод: в этом исполнении currentUser равен нулл
[HttpPost("[action]/{post}")]
public async Task SaveUserPost(string post)
{
var currentUser = await db.Users.FirstOrDefaultAsync(x => x.UserName == User.Identity.Name);
if (currentUser != null)
{
currentUser.UserPosts
.Add(new UserPost { AuthorPost=currentUser.UserName, Post = post, TimeOfPublication = DateTime.Now, User=currentUser });
db.Update(currentUser);
await db.SaveChangesAsync();
}
}
если переделываю на гет, то все работает идеально
[HttpGet("[action]/{post}")]
public async Task SaveUserPost(string post)
{
var currentUser = await db.Users.FirstOrDefaultAsync(x => x.UserName == User.Identity.Name);
if (currentUser != null)
{
currentUser.UserPosts
.Add(new UserPost { AuthorPost=currentUser.UserName, Post = post, TimeOfPublication = DateTime.Now, User=currentUser });
db.Update(currentUser);
await db.SaveChangesAsync();
}
}
С клиента в обоих случаях уходит токен с данными и все что необходимо, почему в пост методе я не могу получить идентифицированного юзера, а в гет все без проблем? Это ошибка в моем проекте? или есть законные основания?:)
Решил, на клиенте шлю запрос
saveUserPost(post) {
let token = localStorage.getItem("jwt");
return this.http.post(this.urlUser + "/" + "SaveUserPost", { text: post }, {
headers: new HttpHeaders({
"Authorization": "Bearer " + token,
"Content-Type": "application/json"
})
});
}
на сервере создал модель с текстовым полем, и принимаю эту модель
[HttpPost("[action]")]
public async Task SaveUserPost([FromBody] PostModel post)
{
var currentUser = await db.Users.FirstOrDefaultAsync(x => x.UserName == _httpContextAccessor.HttpContext.User.Identity.Name);
if (currentUser != null)
{
currentUser.UserPosts
.Add(new UserPost { AuthorPost=currentUser.UserName, Post = post.Text, TimeOfPublication = DateTime.Now, User=currentUser });
db.Update(currentUser);
await db.SaveChangesAsync();
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
дан файл f,содержащий сведения о кубиках : размер каждого кубика(длина ребра),его цвет(красный,желтый) и материал(деревянный,пластмассовый)...
Не могу понять и определиться, какую книгу сейчас мне прочитать: https://wwwozon
Есть такая функция-обработчик формыС вида данные отправляются ajax/ После обработки функцией, данные передаются обратно, в вид, в формате json