Sun*_*Sun 16 java rest http dropwizard
我正在学习使用Dropwizard.我能够遵循快速入门指南并运行基本的REST API.
在本文档中,有一个名为"组织项目"的部分.
它建议按以下部分组织项目:project-api,project-client,project-service.
这是我的问题/疑问:
一般来说,请解释'api','service'和'client'之间的区别.
是否有一个例子严格遵循上述惯例使用dropwizard?
"...项目客户端应该使用这些类和HTTP客户端为您的服务实现一个成熟的客户端" - 因为"项目服务"将具有REST API,那么为什么我们需要使用HTTP客户端?
谢谢!
San*_*y T 20
Dropwizard建议您遵循以下项目结构:
{project_name}(即具有以下模块的父级)
您可能会发现此示例很有用,即使客户端部分为空.
如第1点中客户端的简短描述中所述,如果您的项目有任何外部休息服务调用,那么相关(HTTP)客户端代码应该进入客户端模块.否则排除模块本身.
Dar*_*ght 11
1)api - 就像名称一样,它是在项目中定义为Representations(Pojo -Json/Xml)的接口/契约.这些模型定义了您的API合同,可以与使用您的API的不同项目共享.
2)服务 - 实际的业务逻辑和持久性.表示不必与您的Entity对象(域对象)相同.这会以更清晰的方式拆分您的域和表示.域逻辑将不再与您的表示耦合.虽然这可能导致对象结构方面的重大重复.
项目依赖 - 取决于"api","客户"
3)客户端 - 一个Http客户端包装器,通过使用HttpClient或Jersey Client的HTTP调用来调用其他Web服务.为合同编写(最终用户)测试.
项目依赖 - 取决于"api"
希望这可以帮助.
归档时间: |
|
查看次数: |
9805 次 |
最近记录: |