Не могу выполнить POST запрос в spring boot
Я новичок делаю проект и при выполнение POST запроса выдаёт ошибку.
ОШИБКА:
POST http://localhost:9090/main
HTTP/1.1 401
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
WWW-Authenticate: Basic realm="Realm"
Content-Length: 0
Date: Thu, 06 Mar 2025 10:07:53 GMT
<Response body is empty>
Response code: 401; Time: 18ms (18 ms); Content length: 0 bytes (0 B)
Cookies are preserved between requests:
> C:\esgApp\.idea\httpRequests\http-client.cookies
КОД:
###
GET http://localhost:9090/main
###
POST http://localhost:9090/main
Content-Type: application/json
Authorization: Basic a2lydmw6a2lydmwwNTA5MjAwNg==
{
"temperature": null,
"mesto": "Сталинград",
"data_vrem": "2223-10-01T08:00:00",
"istochniki_data": "Датчик AA",
"kontcetratciya": "4500",
"data_vrem_proshloe": "2223-09-30T08:00:00",
"istochniki_zagryazneniya": "Завод XX"
}
Из-за чего это может быть?
Ответы (1 шт):
Это не Basic аудентификация, в заголовке Authorization надо писать
Authorization: Bearer a2lydmw6a2lydmwwNTA5MjAwNg==
Что нужно знать про Bearer токен:
Наиболее распространенным способом доступа к API OAuth 2.0 является использование
Bearer Token. Это одна строка, которая действует как аутентификация запроса API, отправляемая в заголовке HTTPAuthorization. Строка не имеет смысла для клиентов, использующих ее, и может иметь различную длину.Bearer Tokens — это гораздо более простой способ выполнения запросов API, поскольку они не требуют криптографического подписания каждого запроса. Компромисс заключается в том, что все запросы API должны выполняться через соединение HTTPS, поскольку запрос содержит открытый текстовый токен, который может использоваться кем угодно, если он будет перехвачен. Преимущество в том, что для выполнения запросов не требуются сложные библиотеки, и он намного проще в реализации как для клиентов, так и для серверов.
Для более полезного изучения авторизации с использованием примера можно найти в статье "Безопасный Spring REST с применением Spring Security и OAuth2".