当前位置: 首页 > news >正文

公司网站建设周期及费用全国哪个餐饮品牌的网站做的好处

公司网站建设周期及费用,全国哪个餐饮品牌的网站做的好处,vs 2015可以做网站吗,网站访问速度查询使用Spring Boot和Spring Data REST#xff0c;通过REST公开Spring Data存储库非常容易。 使用最少的代码#xff0c;您可以创建遵循HATEOAS原理的JPA实体的REST表示。 我决定重用Spring PetClinic的JPA实体#xff08;业务层#xff09;作为本文的基础。 应用基础 PetCli… 使用Spring Boot和Spring Data REST通过REST公开Spring Data存储库非常容易。 使用最少的代码您可以创建遵循HATEOAS原理的JPA实体的REST表示。 我决定重用Spring PetClinic的JPA实体业务层作为本文的基础。 应用基础 PetClinic的模型相对简单但是它包含一些单向和双向关联以及基本继承 此外Spring的PetClinic为HSQLDB提供了SQL脚本这使得在我的新应用程序中生成模式并用示例数据填充它非常容易。 项目依赖 作为配置的基础我使用了Spring Initializr并生成了一个基本的Gradle项目。 为了在Spring Boot应用程序中利用Spring Data REST我添加了以下Boot Starters compile(org.springframework.boot:spring-boot-starter-web) compile(org.springframework.boot:spring-boot-starter-data-jpa) compile(org.springframework.boot:spring-boot-starter-data-rest) 另外我在项目中添加了HSQLDB依赖项 compile(org.hsqldb:hsqldb:2.3.2) 原始项目使用org.joda.time.DateTime作为日期字段并使用org.jadira.usertype.dateandtime.joda.PersistentDateTime将其与Hibernate持久化。 为了能够在新项目中使用它我需要添加以下依赖项 compile(joda-time:joda-time:2.4) compile(org.jadira.usertype:usertype.jodatime:2.0.1) 使用API​​时我注意到尽管原始项目中的date字段使用Spring的DateTimeFormat进行了注释 DateTimeFormat它们并未正确序列化。 我发现我需要使用JsonFormatter 因此另一个依赖项被添加到build.gradle compile(com.fasterxml.jackson.datatype:jackson-datatype-joda:2.4.2); 进入类路径后Spring Boot将通过org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration自动配置com.fasterxml.jackson.datatype.joda.JodaModule 。 请注意如果要正确序列化Java 8日期和时间类型则需要向项目添加Jackson数据类型JSR310依赖项。 初始化数据库 为了初始化数据源我在src/main/resources添加了schema-hsqldb.sql和data-hsqldb.sql文件。 最后我将几个属性添加到application.properties spring.datasource.platform hsqldbspring.jpa.generate-ddl falsespring.jpa.hibernate.ddl-auto none 现在在应用程序启动时将自动拾取文件并初始化数据源并且由于有数据 发现 API会容易得多 储存库 Spring Data REST的一般思想是在Spring Data存储库的基础上构建并自动将其导出为REST资源 。 我创建了几个存储库每个实体一个 OwnerRepository PetRepository等。 所有存储库都是从PagingAndSortingRepository扩展的Java接口。 在此阶段不需要其他代码不需要Controller 不需要配置除非需要自定义。 Spring Boot将自动为我们配置所有内容。 运行应用程序 有了整个配置就可以执行项目您将在文章底部找到指向整个项目的链接。 如果幸运的话该应用程序将启动您可以导航到http://localhost:8080 它指向指向所有可用资源 根资源 的链接的集合。 响应的内容类型为。 哈尔 资源以Hypermedia样式实现默认情况下Spring Data REST使用HAL和内容类型为application/haljson来呈现响应。 HAL是一种简单的格式提供了一种链接资源的简便方法。 例 $ curl localhost:8080/owners/1 {firstName : George,lastName : Franklin,_links : {self : {href : http://localhost:8080/owners/1},pets : {href : http://localhost:8080/owners/1/pets}} } 就Spring Data REST而言有几种类型的资源集合项目搜索查询方法和关联并且都在响应中利用了application/haljson内容类型。 馆藏和物品资源 集合资源支持GET和POST方法。 项目资源通常支持GET PUT PATCH和DELETE方法。 注意 PATCH应用随请求主体发送的值而PUT替换资源。 搜索和查找方法资源 搜索资源返回存储库公开的所有查询方法的链接而查询方法资源执行通过存储库界面上的单个查询方法公开的查询。 两者都是只读的因此仅支持GET方法。 为了可视化我向OwnerRepository添加了find方法 ListOwner findBylastName(Param(lastName) String lastName); 然后在http://localhost:8080/owners/search下公开 $ curl http://localhost:8080/owners/search { _links : { findBylastName : { href : http://localhost:8080/owners/search/findBylastName{?lastName},templated : true } } }协会资源 Spring Data REST自动公开子资源。 关联资源支持GET POST和PUT方法。 并允许对其进行管理。 使用关联时您需要了解文本/ uri-list内容类型。 具有这种内容类型的请求包含一个或多个URI 每个URI应该出现在一行中并且只有一行 要添加到关联中的资源。 在第一个示例中我们将研究Vet类中的单向关系 ManyToMany(fetch FetchType.EAGER) JoinTable(name vet_specialties, joinColumns JoinColumn(name vet_id),inverseJoinColumns JoinColumn(name specialty_id)) private SetSpecialty specialties; 为了将现有的专业添加到兽医的专业集合中必须执行PUT请求 curl -i -X PUT -H Content-Type:text/uri-list -d $http://localhost:8080/specialties/1\nhttp://localhost:8080/specialties/2 http://localhost:8080/vets/1/specialties 可以使用DELETE方法删除关联如下所示 curl -i -X DELETE http://localhost:8080/vets/1/specialties/2 让我们看另一个例子 // Owner OneToMany(mappedBy owner, cascade CascadeType.ALL, orphanRemoval true) private SetPet pets;// Pet ManyToOne(cascade CascadeType.ALL, optional false) JoinColumn(name owner_id) private Owner owner; 设置宠物主人可以通过以下请求完成 curl -i -X PUT -H Content-Type:text/uri-list -d http://localhost:8080/owners/1 http://localhost:8080/pets/2/owner 但是如何移除所有者呢 由于必须始终为宠物设置所有者因此在尝试使用以下命令取消设置时我们会收到HTTP/1.1 409 Conflict curl -i -X DELETE http://localhost:8080/pets/2/owner整合测试 使用Spring Boot可以在测试中启动Web应用程序并使用Spring Boot的IntegrationTest对其进行验证。 我们将使用RestTemplate及其Spring Boot的实现来验证实际的REST调用而不是使用MockMvc服务器端Web应用程序上下文 MockMvc 。 众所周知资源的类型为application/haljson 。 因此实际上将它们直接反序列化为实体对象例如Owner 是不可能的。 相反必须将其反序列化为org.springframework.hateoas.Resource 以包装实体并为其添加链接。 而且由于Resource是一个通用型ParameterizedTypeReference必须使用RestTemplate 。 以下示例将其可视化 private RestTemplate restTemplate new TestRestTemplate();Test public void getsOwner() {String ownerUrl http://localhost:9000/owners/1;ParameterizedTypeReferenceResourceOwner responseType new ParameterizedTypeReferenceResourceOwner() {};ResponseEntityResourceOwner responseEntity restTemplate.exchange(ownerUrl, GET, null, responseType);Owner owner responseEntity.getBody().getContent();assertEquals(George, owner.getFirstName());// more assertions} 下一篇文章对此方法进行了很好的描述 使用Spring RestTemplate和Super类型令牌使用Spring-hateoas Rest服务 摘要 通过几个步骤以及Spring Boot和Spring Data REST的强大功能我为现有PetClinic的数据库创建了API。 使用Spring Data REST可以做更多的事情例如自定义除了文档不多与其他Spring项目相比Spring Data REST似乎可以大大加快开发速度。 我认为这是一个需要快速原型制作的好项目。 参考文献 源代码 GitHub上的Spring Boot PetClinic API 说明文件 Spring Data REST 文章 恢复您的JPA实体 翻译自: https://www.javacodegeeks.com/2014/10/spring-boot-and-spring-data-rest-exposing-repositories-over-rest.html
http://www.pierceye.com/news/174535/

相关文章:

  • 手机一键建站北京公司网站建站
  • 做个简单网站大概多少钱广州联亨科技网站建设
  • 恺策网优 营销型网站建设品牌服务商在线html网站开发
  • 做seo要明白网站桂林生活网新闻
  • 网站建设供需武昌做网站哪家专业
  • 好看的电商网站模板网易对象存储wordpress
  • 上海工商网查询企业信息查询系统安卓优化大师app下载
  • 深圳网站快速备案亳州做网站
  • 个人网站如何建jsp做的网站源码
  • 竹子建站公司怎么在百度上创建自己的网页
  • 专门做恐怖电影网站电子商务网站建设 实验
  • 旅游网站案例遂宁网站建设公司哪家好
  • WordPress站群更新wordpress 图片命名吗
  • 网站建设最好的公司哪家好网站模板下载软件
  • 运输公司网站模板网站建设及使用
  • 哈尔滨cms模板建站网站建设天地心
  • 廊坊代运营公司广东网站se0优化公司
  • 西双版纳建设厅网站宁夏建网站报价
  • 网站优化分析软件手机端网站源码
  • 我想克隆个网站 怎么做网站 运营工作如何做
  • 承德网站制作公司哪家好如何选择邯郸网站建设
  • 网络分析的应用案例广东网络seo推广平台
  • 网站开发设计合同北京网站排名优化公司
  • 免费建立个人网站凡科怎么下载app
  • 网站题头是什么做线上网站需要钱吗
  • 陕西省建设工程监理协会网站 查询动易网站首页错位
  • 老公做网站网站推广wordpress 文件加载顺序
  • 网站开发保存学习进度的方案搭建网站免费
  • 做网站对外贸有什么用网站怎么防k
  • 网站开发网站建设常州建站程序