天津武清做网站tjniu,哪个网站有适合小学生做的题目,黄骅港出海捕鱼,wordpress发布文章 发布restful json寻求快速#xff0c; 轻松地创建可用于生产环境的RESTful JSON HTTP Web服务的Java开发人员应考虑使用Dropwizard框架。 Dropwizard汇集了相互补充的广受好评的库#xff0c;因此您可以了解重要的内容#xff1a;编写和交付工作代码。 对于那些对所用库的详细信… restful json 寻求快速 轻松地创建可用于生产环境的RESTful JSON HTTP Web服务的Java开发人员应考虑使用Dropwizard框架。 Dropwizard汇集了相互补充的广受好评的库因此您可以了解重要的内容编写和交付工作代码。 对于那些对所用库的详细信息感兴趣的人请参阅Dropwizard概述 。 幸运的是Dropwizard不会使您处理其所有单个组件。 您将能够专注于手头的工作。 如果您有时间请坚持一下让我们与Dropwizard一起做点事情。 可以在GitHub上获得本教程的所有代码。 您如何开始使用Dropwizard 一个MavenGradle或Ivy依赖项将为您提供制作Dropwizard驱动的Web服务所需的所有组件。 dependencygroupIdcom.yammer.dropwizard/groupIdartifactIddropwizard-core/artifactIdversion0.6.2/version
/dependency 注意 如果遇到任何您认为在这篇简短的帖子中没有充分解释的内容请参考Dropwizard的出色文档 。 我们要做什么 让我们做一个Web服务它返回给定时区的当前日期和时间。 如果客户决定不指定默认时区我们将使用可配置的默认时区。 组态 我们的超级简单的time-service.yml配置文件如下所示。 defaultTimezone: UTC 在后台Dropwizard将加载解析验证并将该配置转换为对象。 我们需要做的就是将其指定为类。 public class TimezoneConfiguration extends Configuration {NotEmptyJsonPropertyprivate String defaultTimezone;public String getDefaultTimezone() { return defaultTimezone; }
}服务输出 假设我们希望Web服务的输出看起来像这样。 { time: 2014-02-04 13:45:02 } 相应的类很简单。 public class Time {private final String time;public Time(String time) {this.time time;}public String getTime() { return time; }
}资源资源 接下来我们决定将Web服务的URL路径设置为/time 。 并且我们需要指定资源将返回JSON。 将这些放在一起可以为我们提供这一切。 Path(/time)
Produces(MediaType.APPLICATION_JSON)
public class TimeResource {
} 现在对于我们的演示Web服务而言唯一有意义的RESTful操作是GET 因此让我们为它创建一个方法。 使用我们的Web服务时客户端可以提供时区作为查询字符串参数。 GET
public Time getTime(QueryParam(timezone) String timezone) {
} 这使我们还有三件事要做 从客户端处理给定的时区 如果没有给出默认时区 用时区格式化当前日期和时间 Path(/time)
Produces(MediaType.APPLICATION_JSON)
public class TimeResource {private final String defaultTimezone;public TimeResource(String defaultTimezone) {this.defaultTimezone defaultTimezone;}GETpublic Time getTime(QueryParam(timezone) Optional timezone) {DateFormat formatter new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);TimeZone timeZone TimeZone.getTimeZone(timezone.or(defaultTimezone));formatter.setTimeZone(timeZone);String formatted formatter.format(new Date());return new Time(formatted);}
}服务 现在让我们将我们的Web服务的所有部分放在一起我们将其称为TimeService 。 在这里我们将使用TimezoneConfiguration将默认时TimezoneConfiguration传递给TimeResource 。 public class TimeService extends Service {public static void main(String[] args) throws Exception {new TimeService().run(args);}Overridepublic void run(TimezoneConfiguration config, Environment environment) {String defaultTimezone config.getDefaultTimezone();TimeResource timeResource new TimeResource(defaultTimezone);environment.addResource(timeResource);}Overridepublic void initialize(Bootstrap timezoneConfigurationBootstrap) {}
}铅笔下来 而已 我们只是编写了一个基于Dropwizard的Web服务而没有引起人们的注意也没有成堆的晦涩的XML配置。 跑步 运行Web服务就像执行命令行Java应用程序一样简单-无需担心.war文件或servlet容器。 java -cp libraries/* name.christianson.mike.TimeService server time-service.yml 现在将您的Web浏览器指向http://localhost:8080/time?timezoneMST或卷曲一下玩得开心 可以在GitHub上获得本教程的所有代码。 翻译自: https://www.javacodegeeks.com/2014/04/dropwizard-painless-restful-json-http-web-services.htmlrestful json