0

голосов
3

ответ
21

Просмотры

апите код состояния для запроса поста, который не смог

У меня есть апи вызов пост, который в настоящее время создает встречу в моей системе бронирования. Если вызов апи отправляет запрос на назначение и апите может успешно создать appoinment API-интерфейс возвращает 201, созданный код статуса. В настоящее время, если запрос на назначение не не создается (из-за различные вещи, такие как время, больше не доступно или в комнате в настоящее время используется) API-интерфейс возвращает код статуса 400 Неверного запроса. «400 Bad Request ответ код состояния указывает на то, что сервер не может или не обработать запрос из-за чего-то, что воспринимается как ошибка клиента» Данные, посылаемые не недопустимый синтаксис и потенциально может быть повторно и быть успешным. Есть ли более соответствующий код состояния для этой неудачи, чтобы создать ресурс. будет 422 Unprocessable Entity быть правильным ответом в данном случае?
JimmyShoe
1

голосов
1

ответ
846

Просмотры

Чистая ядра MVC чистая архитектура без хранилища шаблона

Я пытаюсь создать приложение MVC в сети ядра 2.1, используя пример eshoponweb приложения. Ive читал, что в ядре Framework сущности нет большого преимущества положить слой хранилища в и просто использовать эф DbContext непосредственно. Как бы я сделать это в чистой архитектуре scenerio. В примере приложения контекст дБ в уровне инфраструктуры и логика бизнес-услуг все в ядре приложения. Я думал о переходе либо из них, но тогда не будет, что предотвратить разделение, чистая архитектура стремится достичь. https://github.com/dotnet-architecture/eShopOnWeb и https://www.thereformedprogrammer.net/is-the-repository-pattern-useful-with-entity-framework-core/
JimmyShoe
1

голосов
1

ответ
107

Просмотры

Identityserver и asp.net идентичности в применении спа Многоквартирный и авторизации

У меня есть спа-приложения с ядром .net 2 API. Я хотел бы использовать identityserver 4, так что в будущем я также может обеспечить решение SSO и разрешить доступ к моим другим API / приложений. У меня есть база данных, которая содержит информацию о всех пользователях (вместе с информацией арендатора) для всех жильцов, которые identityserver4 соединят с. Каждый жилец имеет свою собственную базу данных для приложения спа. Если маркер доступа апи я получаю от identityserver содержат информацию о ролях в формуле изобретения, и если да, где роли созданы (на той же базе данных пользователей или арендаторов конкретных баз данных? Я не уверен, о том, как тогда знать, что эти роли являются для которых API. Например, если я просить сферу api1 я могу получить обратно список ролей для этого пользователя, которые только для этой сферы, и если я просить сферу API2 получить обратно другой список ролей для этого пользователя и т.д.
JimmyShoe
1

голосов
1

ответ
0

Просмотры

.NET Ядро Обновление

У меня есть API, который активно разрабатывается, работает на .net ядра 2.1. Является ли идея с .NET Ядром постоянно обновлять свой проект / код до последней версии .NET Ядра? Теперь я вижу, что 2,2 стабильна. Должен ли я цель, что и тогда, когда 3,0 здесь изменение целевой что?
JimmyShoe
1

голосов
1

ответ
60

Просмотры

вю выделяют данные обратно к родителю при использовании слота

У меня есть вход на пользовательский компонент, и когда я нажимаю на следующей кнопке на компоненте обертки я должен испускать детали родительского компонента. Как это возможно в вю? wrapper.vue {{nextButtonText}} parent.vue код customComponent1.vue выше для иллюстративных целей.
JimmyShoe
1

голосов
1

ответ
145

Просмотры

UserManager.CheckPasswordAsync vs SignInManager.PasswordSignInAsync

используя жерех чистой идентичность ядра - когда пользователь вводит пароль и имя пользователя, чтобы получить JWT маркера они размещать учетные данные / API / маркеру должен мой маркер метода контроллера использовать usermanager для проверки пароля с помощью CheckPasswordAsync и если это проходит вернуть маркер или я должен использовать signinmanager и вызвать PasswordSignInAsync, а затем вернуть маркер на основе этого результата? Я видел примеры как и задавался вопросом, что является преимуществом каждого, является одним из способов лучше, чем другие? В настоящее время кто-то в моей команде написали следующее: [AllowAnonymous] [HttpPost] общественность асинхронных задач сообщения ([FromBody] модели пользователя) {попробуйте {уаг пользователь = ждет _userManager.FindByNameAsync (model.Username); если (пользователь == NULL) возвращает StatusCode (StatusCodes.Status401Unauthorized " вар passwordOK = ждут _userManager.CheckPasswordAsync (пользователь, model.Password); (! PasswordOK), если вернуться StatusCode (StatusCodes.Status401Unauthorized, "Неверное имя пользователя или пароль"); model.Id = user.Id; model.Name = user.DisplayName; model.Password = ""; INT expiresIn; долго expiresOn; model.Token = _authorisationService.GetJWTToken (model.Username, user.Id, из expiresIn, из expiresOn); model.ExpiresIn = expiresIn; model.ExpiresOn = expiresOn; вернуть модель; } Задвижка (исключение) {// войти возвращаемое исключение StatusCode (StatusCodes.Status500InternalServerError); }}, Но я думаю, что есть вещи, в том, что, которые не являются необходимыми. вар passwordOK = ждут _userManager.CheckPasswordAsync (пользователь, model.Password); (! PasswordOK), если вернуться StatusCode (StatusCodes.Status401Unauthorized, "Неверное имя пользователя или пароль"); model.Id = user.Id; model.Name = user.DisplayName; model.Password = ""; INT expiresIn; долго expiresOn; model.Token = _authorisationService.GetJWTToken (model.Username, user.Id, из expiresIn, из expiresOn); model.ExpiresIn = expiresIn; model.ExpiresOn = expiresOn; вернуть модель; } Задвижка (исключение) {// войти возвращаемое исключение StatusCode (StatusCodes.Status500InternalServerError); }}, Но я думаю, что есть вещи, в том, что, которые не являются необходимыми. CheckPasswordAsync (пользователь, model.Password); (! PasswordOK), если вернуться StatusCode (StatusCodes.Status401Unauthorized, "Неверное имя пользователя или пароль"); model.Id = user.Id; model.Name = user.DisplayName; model.Password = ""; INT expiresIn; долго expiresOn; model.Token = _authorisationService.GetJWTToken (model.Username, user.Id, из expiresIn, из expiresOn); model.ExpiresIn = expiresIn; model.ExpiresOn = expiresOn; вернуть модель; } Задвижка (исключение) {// войти возвращаемое исключение StatusCode (StatusCodes.Status500InternalServerError); }}, Но я думаю, что есть вещи, в том, что, которые не являются необходимыми. CheckPasswordAsync (пользователь, model.Password); (! PasswordOK), если вернуться StatusCode (StatusCodes.Status401Unauthorized, "Неверное имя пользователя или пароль"); model.Id = user.Id; model.Name = user.DisplayName; model.Password = ""; INT expiresIn; долго expiresOn; model.Token = _authorisationService.GetJWTToken (model.Username, user.Id, из expiresIn, из expiresOn); model.ExpiresIn = expiresIn; model.ExpiresOn = expiresOn; вернуть модель; } Задвижка (исключение) {// войти возвращаемое исключение StatusCode (StatusCodes.Status500InternalServerError); }}, Но я думаю, что есть вещи, в том, что, которые не являются необходимыми. Status401Unauthorized, «Неверное имя пользователя или пароль»); model.Id = user.Id; model.Name = user.DisplayName; model.Password = ""; INT expiresIn; долго expiresOn; model.Token = _authorisationService.GetJWTToken (model.Username, user.Id, из expiresIn, из expiresOn); model.ExpiresIn = expiresIn; model.ExpiresOn = expiresOn; вернуть модель; } Задвижка (исключение) {// войти возвращаемое исключение StatusCode (StatusCodes.Status500InternalServerError); }}, Но я думаю, что есть вещи, в том, что, которые не являются необходимыми. Status401Unauthorized, «Неверное имя пользователя или пароль»); model.Id = user.Id; model.Name = user.DisplayName; model.Password = ""; INT expiresIn; долго expiresOn; model.Token = _authorisationService.GetJWTToken (model.Username, user.Id, из expiresIn, из expiresOn); model.ExpiresIn = expiresIn; model.ExpiresOn = expiresOn; вернуть модель; } Задвижка (исключение) {// войти возвращаемое исключение StatusCode (StatusCodes.Status500InternalServerError); }}, Но я думаю, что есть вещи, в том, что, которые не являются необходимыми. долго expiresOn; model.Token = _authorisationService.GetJWTToken (model.Username, user.Id, из expiresIn, из expiresOn); model.ExpiresIn = expiresIn; model.ExpiresOn = expiresOn; вернуть модель; } Задвижка (исключение) {// войти возвращаемое исключение StatusCode (StatusCodes.Status500InternalServerError); }}, Но я думаю, что есть вещи, в том, что, которые не являются необходимыми. долго expiresOn; model.Token = _authorisationService.GetJWTToken (model.Username, user.Id, из expiresIn, из expiresOn); model.ExpiresIn = expiresIn; model.ExpiresOn = expiresOn; вернуть модель; } Задвижка (исключение) {// войти возвращаемое исключение StatusCode (StatusCodes.Status500InternalServerError); }}, Но я думаю, что есть вещи, в том, что, которые не являются необходимыми.
JimmyShoe