Нужна помощь с отправкой POST запроса с помощью Retrofit 2

Нужно отправить такой запрос не могу разобраться как отправлять такие запросы, пробовал с помощью HashMap, постоянно вылезала ошибка 403|Forbidden
@POST("user/event")
Call<CreateEvent> addEvent(@Header("token") String token, @Body HashMap<String, Object> parameters);
Это Json - который нужно отправить
{
"name": "Test ",
"info": "Test Meeting",
"dates": [
"2022-06-10",
"2022-06-11",
"2022-06-12"
],
"tags": [
"tag1",
"tag2"
],
"deadline": "2022-06-13",
"users": [
1
],
"event_id": 1,
"packages": [
{
"name": "Base",
"dates": [
"2022-06-11",
"2022-06-12",
"2022-06-13"
],
"chat_status": true
}
]
}
Вот POJO
public class CreateEvent {
@SerializedName("name")
@Expose
private String name;
@SerializedName("info")
@Expose
private String info;
@SerializedName("dates")
@Expose
private List<String> dates = null;
@SerializedName("tags")
@Expose
private List<String> tags = null;
@SerializedName("deadline")
@Expose
private String deadline;
@SerializedName("users")
@Expose
private List<Integer> users = null;
@SerializedName("event_id")
@Expose
private Integer eventId;
@SerializedName("packages")
@Expose
private List<Package> packages = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public List<String> getDates() {
return dates;
}
public void setDates(List<String> dates) {
this.dates = dates;
}
public List<String> getTags() {
return tags;
}
public void setTags(List<String> tags) {
this.tags = tags;
}
public String getDeadline() {
return deadline;
}
public void setDeadline(String deadline) {
this.deadline = deadline;
}
public List<Integer> getUsers() {
return users;
}
public void setUsers(List<Integer> users) {
this.users = users;
}
public Integer getEventId() {
return eventId;
}
public void setEventId(Integer eventId) {
this.eventId = eventId;
}
public List<Package> getPackages() {
return packages;
}
public void setPackages(List<Package> packages) {
this.packages = packages;
}
}
----------------------------------------------------------------------
public class Package {
@SerializedName("name")
@Expose
private String name;
@SerializedName("dates")
@Expose
private List<String> dates = null;
@SerializedName("chat_status")
@Expose
private Boolean chatStatus;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getDates() {
return dates;
}
public void setDates(List<String> dates) {
this.dates = dates;
}
public Boolean getChatStatus() {
return chatStatus;
}
public void setChatStatus(Boolean chatStatus) {
this.chatStatus = chatStatus;
}
}
Ответы (1 шт):
Когда вы получаете 403 ошибку - это значит, что сервер не смог распознать в запросе информацию об авторизации. Эту информацию передавать надо так, как того желает сервер. Обычно используют передачу данных в заголовках или в параметрах запроса. Важно внимательно смотреть на имена заголовков и на их зачения.
Вам надо 2 заголовка прикрепить - Authorization и x-access-token. Т.е. должно примерно так выглядеть в Retrofit:
@POST("user/event")
Call<CreateEvent> addEvent(@Header("Authorization") String authorizationValue, @Header("x-access-token") String xAccessTokenValue, @Body CreateEvent parameters);
Передавать, соответственно, надо первым аргументом то, что у вас чёрным на скрине замазано, а вторым - то что не замазано напротив x-access-token