У меня есть очень простой способ удаления:Кураж UI показывает неправильный код статуса для ресурса JAX-RS
/**
* Delete the question with the specified id
*
* @return a <code>204 NO CONTENT</code> on success or a <code>404 NOT FOUND</code> if there is no question available
* @successResponse 204 The question was successfully deleted
* @errorResponse 404 The question does not exist
*/
@DELETE
public Response delete(@PathParam("questionId") final Long questionId) {
final Question question = findByQuestionId(questionId); // throws NotFoundException
questionService.delete(question.getQuestionId());
return Response.noContent().build();
}
Как вы можете видеть, я использовал JavaDoc тег, чтобы указать коды ответов успеха и ошибок. Внутри метода я создаю отсутствие ответа на контент (который является кодом состояния 204). Это то, что развязность-доклет генерирует:
{
"method" : "DELETE",
"nickname" : "delete",
"type" : "Response",
"parameters" : [ {
"type" : "integer",
"format" : "int64",
"paramType" : "path",
"name" : "questionId",
"required" : true
} ],
"summary" : "Delete the question with the specified id",
"responseMessages" : [ {
"code" : 204,
"message" : "The question was successfully deleted"
}, {
"code" : 404,
"message" : "The question does not exist"
} ],
"produces" : [ "application/json" ]
}
До сих пор так хорошо: Он берет мои JavaDoc тег с кодами ответов успеха и ошибок. Кроме того, существует тип «Ответ», который, как представляется, берется из инструкции return return. Теперь, когда я открываю Swagger UI, я получил следующий вид:
На вершине вы можете увидеть «Класс Response (Status 200)», где «Response Класс» является правильным, но «Status 200» является неправильно! Нигде в этом методе я возвращаю код состояния 200 (OK). Я не нашел никакого рабочего решения для исправления этого результата.
Что я использую:
- Java 8
- Maven 3.3.9
- Dropwizard 0.9.2
- org.apache.maven.plugins.maven-Javadoc-плагин 2.10.3
- com.tenxerconsulting.swagger-доклет 1.1.3
Если вы хотите попробовать его, завершена e находится на GitHub: https://github.com/McPringle/moodini
Было бы здорово получить правильную документацию API Swagger API. Любая помощь приветствуется.
спасибо!
Большое спасибо вам помочь, но она не работает. Там до сих пор нет информации ответа в файле формата JSON: '{ "метод": "DELETE", "прозвище": "удалить", "типа": "Ответ", "Параметры": [{ " Тип ": "целое число", "формат": "Int64", "Paramtype": "путь", "название": "QuestionID", "требуется": истинная }], "Резюме":" Удалить этот вопрос с указанным идентификатором», „производит“: [„приложения/JSON“] }' –
вы можете попробовать другой плагин: https://github.com/kongchen/swagger-maven-plugin это Gener также статичный JSON-файл во время maven-компиляции. , а также поддерживает Swagger-Spec 2.0 и имеет больше gh-звезд и т. Д. – The86Freak