我是新來的playframework。我正在計劃一個大型項目,它將公開其他應用程序的端點數目,以便它們可以與其整合;我們是否有像django-piston這樣的可以在playframework環境中使用的擴展或庫?playframework項目的RESTful API
回答
無需在Play!上安裝擴展程序,最簡單的方法就是使用REST API並且一切就緒! 看看freedompeace給出的教程,當你有問題時再回來。
Play框架建立在Netty的基礎之上,以便輕鬆編寫HTTP服務,如果這些響應使用HTML,JSON和XML,則無關緊要。你需要做什麼來創建服務就是像這樣在conf/routes
中爲你的應用程序資源設置路由。
GET /api/projects controllers.ProjectController.index
POST /api/projects controllers.ProjectController.create
GET /api/projects/:id controllers.ProjectController.show(id: Long)
PUT /api/projects/:id controllers.ProjectController.update(id: Long)
DELETE /api/projects/:id controllers.ProjectController.delete(id: Long)
然後實現與像這樣的控制器方法:
def index() = Action { implicit request =>
Ok(Json.toJson(Project.findAll(request.queryString))
}
上routing and controllers閱讀此瞭解更多詳情。
然後使用Anorm或其他一些庫來實現您的模型來創建模型。
其實Play Framework是一個完整的堆棧web框架。使用Netty/Akka-http作爲服務器,它不需要容器來運行。
隨着sbt構建您的項目,您可以添加第三部分庫作爲依賴項,同時在Scala和Java中編寫。
如果只是RESTFul API,只關注conf/routes並定義您的url,那麼完成您的業務邏輯。 Play Framework的文檔可以在here找到。
在playframewrork,使一個API執行以下操作:
- 定義路線:進入
conf/routes
寫你的路線。你可以在這裏定義通常的HTTP路由(GET,PUT,POST等)。每個路由將具有鏈接到控制器,例如,下面的路線由你好控制器服務:
GET /hello Application.controllers.Hello.saySomething
- 定義一個控制器:然後,使
app/controllers
文件夾中的Hello.scala
文件。現在寫的方法在控制器內,如:
def saySomething = Action {Ok("Im saying hello")}
如果然後運行你的應用程序(sbt compile run
),你應該在localhost:9000
看到I'm saying hello
。此外,您可以使用Json或XML而不是字符串。如果您想爲其他應用程序提供一些具有標準和結構的數據,這對現實世界中的示例至關重要。不想在這裏進行大量的交易,但是對Json有很大的支持,你可以read more here。
還有什麼? 另外兩個主題,我想在這裏提到:
模式:您可以app/models
文件夾定義您的模型。這些模型負責與DB或其他外部來源交談;如S3。
查看:如果您想從api製作完整的堆棧應用程序,請在app/views
文件夾中定義您的視圖文件。如果你想使用任何腳本語言和樣式表,那麼你需要在/public
文件夾中定義它們。
- 1. 更大的項目Node.js和RESTful API
- 2. 瓶的RESTful項目結構
- 3. 如何查找項目的playframework版本?
- 4. 作爲Playframework依賴性的Maven項目
- 5. PlayFramework中的企業CMS項目
- 6. 簡單的庫項目與playframework 2
- 7. 帶有maven和子項目的Playframework 2.0
- 8. 通過RESTful API中的ID或子彈標識項目
- 9. 用於Django項目/應用程序的RESTful API
- 10. playframework路由僅兩次accessable在我playframework項目
- 11. RESTful API的Mimetypes
- 12. RESTful API的RefineryCMS
- 13. RESTful API的CDN?
- 14. Playframework dist不支持子項目?
- 15. 將Scala PlayFramework項目部署到IBM Bluemix
- 16. 構建playframework項目導致此錯誤
- 17. 如何在PlayFramework項目中使用logback
- 18. 在playframework項目中使用scalatest
- 19. PlayFramework MongoDB項目設置失敗
- 20. sbt.build爲多個項目和playframework
- 21. playframework 2.0,子項目和路線
- 22. RESTful的URI選擇「我的」項目
- 23. Playframework和Twitter Streaming API
- 24. ZF2 Restful API非路由選項方法
- 25. Zend 2的Restful API
- 26. RESTful API的設計
- 27. 設置在sbt中運行playframework項目的java選項
- 28. 使用RESTful API
- 29. Restful API和HTML
- 30. HippoCMS RESTFUL API