Я использую swaggerUI для проверки моей спецификации.
Методы GET или POST с телом работают нормально, но у меня возникают проблемы при использовании метода POST с @FormParam.Мой сервер говорит, что в запросе отсутствует тип содержимого, и это правильно, сгенерированная команда SwaggerUi выглядит следующим образом
curl -X POST "https://localhost:8184/authentication/password/reset?username=chrome&newPassword=11114444" -H "accept: application/json"
мой код swaggerUI выглядит так
/user/delete:
post:
tags:
- "Usermanagement"
summary: Löscht einen Nutzer
description: Löscht einen Nutzer anhand seines "username"
consumes:
- application/x-www-form-urlencoded
produces:
- application/json
parameters:
- in: query
name: username
type: "string"
description: Benutzername
responses:
200:
description: Nutzer wurde erfolgreich gelöscht
400:
description: Der Löschvorgang konnte nicht ausgeführt werden
, тогда как мойКод сервера выглядит так:
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
@Path("/activation")
public Response activation(@NotNull @FormParam("username") String username,
@NotNull @FormParam("active") Boolean active) {
return runWithExceptionMapper(() -> {
if (active) {
userService.activateUser(username);
} else {
userService.deactivateUser(username);
}
});
}
Код сервера в целом работает нормально, он работает как из браузера, так и из Почтальона.
Я просто не могу понять, почему swaggerUI не отправляет contenttype с помощью команды curl или как я могу заставить его сделать это.
EDIT: я понял, что brwoser неотправка команды curl, но http-запроса.Но в полезной нагрузке все еще отсутствует контент, тип namly.Почему мой сервер не знает, что делать с «неизвестными» данными.