Я работаю над RESTful API, используя Play Framework 2.2.1 (Java). Я использую IDEA, и я хочу добавить Swagger в свой проект.Swagger не работает с Play Framework 2
Итак, сначала я создал файл project/build.scala, потому что проект по умолчанию его не имеет. Здесь его содержание:
import sbt._
import Keys._
object ApplicationBuild extends Build {
val appName = "speeder"
val appVersion = "0.1-beta"
val appDependencies: Seq[sbt.ModuleID] = Seq(
"com.wordnik" %% "swagger-play2" % "1.3-SNAPSHOT",
"com.wordnik" %% "swagger-play2-utils" % "1.3-SNAPSHOT"
)
val main = play.Project(appName, appVersion, appDependencies).settings(
resolvers := Seq(
"Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository",
"sonatype-snapshots" at "https://oss.sonatype.org/content/repositories/snapshots",
"sonatype-releases" at "https://oss.sonatype.org/content/repositories/releases",
"java-net" at "http://download.java.net/maven/2",
"Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"))
}
IDEA признал его и предложил импортировать проект, что я сделал. Я аннотирование моего контроллера, как это:
@Api(value = "/accounts", description = "Operation with accounts")
public class Accounts extends BaseController {
@ApiOperation(value = "Create user", notes = "This can only be done by the logged in user.", httpMethod = "POST")
@ApiImplicitParams(@ApiImplicitParam(name = "body", value = "Created user object", required = true, dataType = "User", paramType = "body"))
public static Result signup() { //... }
}
Я также добавил маршрут для документации API:
GET /api-docs.json controllers.ApiHelpController.getResources
Тогда я побежал play dependencies
из консоли и перезапустить сервер. Так что теперь я открытие http://localhost:9000/api-docs.json
, и я вижу это:
{"apiVersion":"0.2","swaggerVersion":"1.2","apis":[{"path":"/accounts","description":"Operation with accounts"}]}
Как вы можете заметить, нет никакой информации о аннотированном методе, это не только о классе. И мой IDEA не видит com.wordnik.swagger.annotations
или controllers.ApiHelpController.getResources
контроллер. Приложение все еще компилируется.
Так что я сделал не так?
Я уже пробовал, но у JSON нет информации о методах, поэтому я получил пустую категорию. – bvitaliyg
Возможно, единственное, что вам нужно сделать - это выйти из игровой консоли, начать снова компилировать, а затем повторить попытку, это работает для меня – anquegi