Не могу выполнить 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 шт):

Автор решения: Roman C

Это не Basic аудентификация, в заголовке Authorization надо писать

Authorization: Bearer a2lydmw6a2lydmwwNTA5MjAwNg==

Что нужно знать про Bearer токен:

Наиболее распространенным способом доступа к API OAuth 2.0 является использование Bearer Token. Это одна строка, которая действует как аутентификация запроса API, отправляемая в заголовке HTTP Authorization. Строка не имеет смысла для клиентов, использующих ее, и может иметь различную длину.

Bearer Tokens — это гораздо более простой способ выполнения запросов API, поскольку они не требуют криптографического подписания каждого запроса. Компромисс заключается в том, что все запросы API должны выполняться через соединение HTTPS, поскольку запрос содержит открытый текстовый токен, который может использоваться кем угодно, если он будет перехвачен. Преимущество в том, что для выполнения запросов не требуются сложные библиотеки, и он намного проще в реализации как для клиентов, так и для серверов.

Для более полезного изучения авторизации с использованием примера можно найти в статье "Безопасный Spring REST с применением Spring Security и OAuth2".

→ Ссылка