首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

jHipster:仅将某些实体公开为REST端点

基础概念

JHipster 是一个应用程序生成器,用于创建 Spring Boot + Angular/React/Vue 应用程序。它通过生成标准的项目结构和配置文件,简化了从零开始创建现代 Web 应用程序的过程。REST(Representational State Transfer)端点是 Web 服务中用于数据交换的接口。

相关优势

  1. 模块化设计:JHipster 允许开发者选择性地生成和公开实体,使得应用程序更加模块化和灵活。
  2. 快速开发:通过自动生成代码,减少了手动编写重复代码的时间。
  3. 标准化:生成的 REST 端点遵循 RESTful 原则,易于理解和使用。
  4. 安全性:可以针对不同的实体设置不同的访问权限,增强了应用程序的安全性。

类型

JHipster 支持多种类型的实体,包括但不限于:

  • 单表实体
  • 关联实体
  • 服务层实体
  • DTO(Data Transfer Object)实体

应用场景

  1. 微服务架构:在微服务架构中,可以将不同的业务功能拆分为独立的微服务,每个微服务只公开必要的实体。
  2. API 网关:通过 API 网关统一管理对外暴露的 REST 端点,实现请求路由、认证和限流等功能。
  3. 前后端分离:前端应用通过 REST 端点与后端服务进行通信,实现前后端分离的开发模式。

遇到的问题及解决方法

问题:如何仅将某些实体公开为 REST 端点?

原因:默认情况下,JHipster 会为所有生成的实体创建 REST 端点。如果只想公开部分实体,需要进行额外的配置。

解决方法

  1. 修改 application.yml 文件: 在 src/main/resources/config/application.yml 文件中,配置 Spring Data REST 的暴露策略。
  2. 修改 application.yml 文件: 在 src/main/resources/config/application.yml 文件中,配置 Spring Data REST 的暴露策略。
  3. 这样配置后,只有 entity1entity2 会被公开为 REST 端点。
  4. 使用 JHipster 的实体生成器: 在生成实体时,可以选择性地启用或禁用 REST 端点的生成。
  5. 使用 JHipster 的实体生成器: 在生成实体时,可以选择性地启用或禁用 REST 端点的生成。
  6. 这样只会为 Entity1Entity2 生成 REST 端点。
  7. 自定义控制器: 如果需要更复杂的控制逻辑,可以手动编写控制器来处理特定的实体。
  8. 自定义控制器: 如果需要更复杂的控制逻辑,可以手动编写控制器来处理特定的实体。

示例代码

假设我们有两个实体 UserProduct,我们只想公开 User 实体为 REST 端点。

  1. 修改 application.yml 文件
  2. 修改 application.yml 文件
  3. 生成实体
  4. 生成实体

通过上述配置,只有 User 实体会被公开为 REST 端点,而 Product 实体不会。

希望这些信息对你有所帮助!如果有更多具体问题,欢迎继续提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

快速上手JHipster (Java Hipster)创建应用

API首先使用swagger-codegen进行开发 通过将Swagger-Codegen集成到构建中,此选项允许您为应用程序进行API优先开发。...使用Hazelcast进行群集HTTP会话 默认情况下,JHipster仅使用HTTP会话来存储Spring Security的身份验证和授权信息。当然,您可以选择将更多数据放入HTTP会话中。...JPA实体或MongoDB文档类是在domain包. JPA实体使用缓存和auto-generated 主键配置. 如果你使用JHipster产生你的JPA实体, 可以创建1:N和N:N关系。...这些服务通常是配置为事务的 安全的业务对象。...REST 端点存在web.rest 包中, 支持Spring MVC的REST JHipster也产生 Liquibase 改变日志文件,用来处理数据库更新,增加一个实体将创建特定的schema更新,这将会版本化

7.3K190

4种主流的API架构风格对比

RPC 是用于将命令发送到远程系统的正确选择。例如,Slack API 是非常以命令为中心的:加入频道、离开频道、发送消息。...而它们的内核采用了 RPC 样式,将较大的服务分解为资源,并有效地使用 HTTP 基础结构。...当服务端实现 REST 的某些功能和 RPC 的某些功能时,在 REST 和 RPC 之间确实可能存在这样一个灰色区域。但 REST 是基于资源或名词的,而不是基于动作或动词。...2 GraphQL 的优势 具有类型的模式:GraphQL 提前公开了它能做什么,从而提高了其可发现性。通过将客户端指向 GraphQL API,我们可以发现什么查询语句是可用的。...灵活的权限:GraphQL 允许选择性地公开某些功能,同时保留私人信息。而相对应的是,REST 体系架构不能仅显示部分数据,要么是全部数据,要么是没有数据。 3 GraphQL 的不足 性能问题。

2.3K30
  • 使用Spring Boot 2.0,Prometheus和Grafana进行监控(第2部分-公开指标)

    概览: 请遵循本教程,以了解如何使用Prometheus公开指标。本教程还包括有助于教程的图片。 在第二部分中,我们将启用指标端点(metrics endpoint)。...在上一篇文章中,我们为实体上的CRUD操作创建了REST API。在这一部分中,我们将在同一个应用程序上进行工作以添加设置和配置,这将使我们能够公开端点的指标。...如Atlas,Datadog,Prometheus等(由于在本教程中将使用Prometheus,因此我们将仅关注Prometheus)。...通过这些更改启动应用程序,并且如果浏览URL http://localhost:9000/actuator,则应该看到actuator 端点。...如果您看到类似上面的屏幕快照,则说明您已成功公开指标。 您可以在此GitHub存储库中获取源代码。 在接下来的部分,我们将创建普Prometheus 并导入这些指标。

    99220

    Java 近期新闻:字符串模板、Quarkus、Open Liberty、PrimeFaces、JobRunr、Devnexus

    /dev 或/q/dev-ui 端点访问(Dev UI 1 通过/q/dev-v1端点访问);角色和权限之间新的 HTTP 安全策略映射。...Quarkus 2.16.6.Final 是第 6 个维护版本,带来了一些重要的更改,如:如果 ID 令牌验证失败,则删除会话 cookie;允许在 REST 客户端请求体中使用null;在响应式消息传递中支持可重复的...JHipster JHipster 团队发布了 JHipster Lite 0.31.0,其中包括许多依赖项升级,并有一些显著的变化,如:修复在 MongoDB 和 Redis 中使用的customConversions...原文链接: https://www.infoq.com/news/2023/04/java-news-roundup-apr03-2023/ 声明:本文为 InfoQ 翻译,未经许可禁止转载。...谷歌合并两大人工智能部门,加速力战ChatGPT|Q资讯 马斯克将起诉微软,称其使用 Twitter 数据“非法”训练GPT,吃瓜网友:事情变得更有趣了!

    1.6K30

    4种主流的API架构风格对比

    RPC 是用于将命令发送到远程系统的正确选择。例如,Slack API 是非常以命令为中心的:加入频道、离开频道、发送消息。...而它们的内核采用了 RPC 样式,将较大的服务分解为资源,并有效地使用 HTTP 基础结构。...当服务端实现 REST 的某些功能和 RPC 的某些功能时,在 REST 和 RPC 之间确实可能存在这样一个灰色区域。但 REST 是基于资源或名词的,而不是基于动作或动词。 ?...GraphQL 的优势 具有类型的模式:GraphQL 提前公开了它能做什么,从而提高了其可发现性。通过将客户端指向 GraphQL API,我们可以发现什么查询语句是可用的。...灵活的权限:GraphQL 允许选择性地公开某些功能,同时保留私人信息。而相对应的是,REST 体系架构不能仅显示部分数据,要么是全部数据,要么是没有数据。 GraphQL 的不足 性能问题。

    2.3K20

    JNDI 反击 - H2 数据库控制台中未经身份验证的 RCE

    我们还观察到,许多开发人员工具都依赖于 H2 数据库,并且专门公开了 H2 控制台(一些示例将在博客文章的后面部分介绍)。...例如,JHipster 框架也暴露了 H2 控制台,并且默认将webAllowOthers属性设置为true: # H2 Server Properties 0=JHipster H2 (Memory)...框架运行您的应用程序时,默认情况下,H2 控制台在/h2-console端点的 JHipster Web 界面上可用: 由于 H2 数据库被如此多的工件使用,因此很难量化 H2 控制台存在多少易受攻击的部署...这种情况下的数据流相当简单,尽管需要跟踪某些类字段。...2.0.206 版通过将 JNDI URL 限制为仅使用(本地)java协议来修复 CVE-2021-42392 ,该协议拒绝任何远程 LDAP/RMI 查询。

    2.2K30

    DataHub元数据治理平台架构

    2.1.元数据存储 元数据存储负责存储构成元数据图的实体和方面。这包括公开用于摄取元数据、通过主键获取元数据、搜索实体以及获取实体之间的关系的 API 。...它由托管一组Rest.li API 端点的 Spring Java 服务以及用于主存储和索引的 MySQL、Elasticsearch 和 Kafka 组成。...它们还可以直接发送到 DataHub 服务层公开的 HTTP 端点,以获得同步成功/失败响应。...3.4.内部组件 将元数据更改提案应用于 DataHub 元数据服务 (mce-consumer-job ) DataHub 附带了一个 Spring 作业mce-consumer-job,它使用元数据更改提案并使用端点将它们写入...主要组件称为元数据服务,并公开 REST API 和 GraphQL API,用于对元数据执行 CRUD 操作。

    1.8K10

    ⚡REST 和 SOAP 协议有什么区别?

    客户端使用 “资源 ”访问和操作 REST API 公开的数据。资源代表不同的 API 功能,并通过资源 URL 对其进行访问。可以将资源视为 API 返回的数据对象。...REST 仅支持 HTTP。使用 SOAP,你可以使用 HTTP、HTTPS、用户数据协议(UDP)、传输控制协议(TCP)或简单邮件传输协议(SMTP)。...## 何时使用 REST 与 SOAP### **REST 适用于公开 Web 服务**REST 因其使用 JSON 作为消息格式而非常适合公开 Web 服务和开放 API。...## 总结REST 和 SOAP 都是为客户端访问和与 Web 服务交互以及其暴露的功能提供标准的规范。...虽然 REST 在某些方面已经取代了 SOAP 在公共网络服务中的地位,但 SOAP 在安全敏感的场景中,如企业级应用和金融服务中,仍然有着很高的采用率。

    15300

    为什么GraphQL是API的未来

    GraphQL 是一种由 Facebook 在 2012 年开发并于 2015 年公开发布的查询语言。...如果我们想从两个不同的资源获取数据,就需要分别对两个不同的端点进行调用。在一个巨大的程序中,扩展性会很差,因为在某些情况下我们只需要获取特定的数据,而不是整个对象。...基本上它是 REST 的替代品,做了很多改进。 使用 GraphQL,我们可以获得许多新功能,在构建 API 时为你提供强大的功能。下面让我们一个一个地审视它们: 单端点 根本没有必要构建很多端点!...GraphQL仅需要一个端点 正如我上面所说,“单端点”方法使你的 API 能够自我描述,你不再需要再去构建文档,因为你的程序员已经知道应该如何使用。他们只需查看代码即可了解API。...当你开发网站或应用时,“单端点” API 会给你很大帮助。它使你的 API 更加能够自我描述,并且无需为它编写大量的文档。 如果你并不是把 JavaScript 作为主要语言,那也不是问题。

    1.6K30

    Java 近期新闻:JDK 22、GraalVM for JDK 22、JDK 23 发布时间表、JMC 9.0

    Goetz 将 ASM 描述为“一个带有大量遗留负担的老代码库”,并提供了背景信息,说明该提议将如何发展并最终取代 ASM。...GlassFish GlassFish 8.0.0 的第三个候选版本包含了一些错误修复和显著变更,如:改进管理控制台的加载选项;将 GlassFishORBHelper 类重写为单例类;重构了 GlassFish...Spring Framework Spring Boot 3.3.0 的第三个里程碑版本发布,包含了错误修复、文档改进、依赖项升级和新特性,如:一个新的执行器端点 /actuator/sbom,用于公开所有可用的...Messaging; Quarkus REST Client Reactive 变成 Quarkus REST Client。...JHipster JHipster 8.2.1 版本包含了错误修复、依赖项升级和新特性,例如:更新了 @AuthorizedFeignClient 注解,使用 Spring Cloud OpenFeign

    20910

    如何为微服务做安全加密? | 微服务系列第十一篇

    此外,由于REST服务的以下功能,使用REST端点的微服务中的安全性很难实现: REST基于无状态协议(HTTP):必须为每个请求传输在客户端和微服务之间传输的任何敏感信息。...三、在REST端点中传输JWT 需要发送敏感信息的REST端点必须首先向JWT令牌提供程序请求令牌。 在下图中,Microservice A使用JWT微服务提供程序进行身份验证。...1将声明创建为JSON对象,并使用声明枚举值定义已声明的声明和默认声明。 2实例化签署有效负载的对象。...四、实验展现:部署JSON Web令牌生成器 检查负责为微服务提供JSON Web令牌(JWT)的REST端点。...检查将upn和preferred_username缺省声明添加到HashMap实例的REST端点,稍后将使用该实例生成JWT字符串。

    3.4K80

    从API源码看API经济 | 从开发角度看应用架构13

    与JAX-RS相比,JAX-WS服务还要求客户端和消费者提出更正式的请求,JAX-RS可以仅通过HTTP向各个端点发出请求。...开发人员可以使用注释,将某些类和方法标记为端点来构建RESTEasy Web服务。每个端点表示客户端应用程序可以调用的URL,并根据注释的类型指定HTTP请求的类型。...将PersonService.java类中的getPerson(),getAllPersons(),deletePerson()和savePerson()方法配置为可用作REST端点。...通过添加@GET注释来公开getPerson(Long id)方法: 更新getPerson(Long id)方法以允许REST服务的使用者通过添加@Path和@PathParam注释来使用REST端点请求具有特定...将@GET注释添加到getAllPersons()方法以将该方法公开为REST端点: ?

    1.6K20

    使用DDD来构建你的REST API,而不是CRUD

    我们以简单的银行帐户资源为例,看看会发生什么。首先,客户端不应该调用一个API,然后就把账户余额更新为他们想要的数量,这不是乱套了吗?!帐户可能有最低余额。...当然,并不是说你必须使用DDD来设计你的REST,但是,由于REST资源可以很好地映射到DDD实体,因此我发现设计REST API特别适合使用DDD。 那么这是什么意思?...Credit -往账户上加钱 这些操作是具体的,可以强制执行某些业务约束。例如,我们可能不想允许记入已关闭的账户,我们可以强制执行我们的最低余额检查作为借记操作的一部分。...在客户端,将变得更加的明确,什么操作可以执行,什么操作不可以执行。如果API文档记录的很好的话,例如使用Swagger来定义文档,那么每个API的限制(或约束)将变得非常明确。...如果你计划将API作为公共端点来公开,那么你就必须在非常长的时间内支持该API。基本上认为它是软件标准的永远。我总是鼓励团队在以后难以改变的事情上花时间,API就是这样的例子。

    2.2K50

    使用 Node.js 搭建一个 API 网关(助力微服务)

    API 网关功能 我们之前讨论过,可以将通用共享逻辑放入你的 API 网关,本节将介绍最常见的网关职责。 路由和版本控制 我们将 API网关定义为你的微服务的入口点。...甚至可以通过路由处理版本或更改后端接口,而公开的接口可以保持不变。你还可以在你的API网关中定义与多个服务配合的新端点。 ?...在这种情况下,我们可以将代理或 API 网关置于我们的整体应用程序之前,将新功能作为微服务实现,并将新端点路由到新服务,同时通过原有的路由服务旧端点。...将身份验证之类的共享逻辑放入API网关可以帮助你缩小服务的体积并专注管理域。 在微服务架构中,你可以通过网络配置将服务保留在DMZ(保护区)中,并通过API网关将其公开给客户端。...Node.js API 网关 当你希望在 API 网关中执行简单的操作,比如将请求路由到特定服务,你可以使用像 nginx 这样的反向代理。但在某些时候,你可能需要实现一般代理不支持的逻辑。

    2.9K20

    为什么要使用 GraphQL?【Programming】

    借助GraphQL,组织内的不同客户端应用程序可以轻松地仅查询所需的数据,从而取代了其它REST方法,并提高了实际应用程序的性能。...如果来自RESTAPI端点的成功响应返回35个字段,则客户端应用程序将接收35个字段 提取问题 传统上,REST API无法为客户端应用程序提供唯一的方法来仅检索或更新他们关心的数据。...虽然这些模式是REST API社区为解决移动客户端所面临的挑战而做出的尝试,但它们在一些关键方面没有实现,即:包含和排除查询键/值对很快变得混乱,特别是对于需要嵌套点表示法语法(或类似语法)以将数据包含和排除为目标的更深的对象图而言...引入GraphQL的组织敏捷性增加通常归因于以下因素: GraphQL API设计人员和开发人员无需在客户端需要一个或多个新字段时创建新的端点,而是能够将这些字段包含在现有的图形实现中,从而以较少的开发工作量和跨应用程序系统的较少更改的方式公开新功能...通过鼓励API设计团队将更多的精力放在定义对象图上,而不是在专注于客户端应用程序所交付的内容上,前端和后端软件团队为客户提供解决方案的速度日益脱节。

    1.2K00

    Java 近期新闻:JDK 21 发布计划、Payara 平台、JBang、JHipster、WildFly

    选举结果将于2023 年 4 月 1 日生效,任期为一年。InfoQ 后续将带来更详细的新闻报道。...社区版 6.2023.3 提供了 Bug 修复、组件升级和改进,如:REST SSL Alias Extension for Payara 6 升级;cacerts.jks 和keystore.jks证书升级到...Quarkus 在发布了 6 个 Alpha 版本和 1 个 Beta 版本之后,Java 社区在上周发布了 Quarkus 3.0.0 的 第一个候选版本,其新特性包括:引入/q/info端点,提供有关应用程序的信息...JHipster JHipster 团队发布了 JHipster Quarkus Blueprint 的 2.0.0 版本,其中有一些显著的变化,包括:修复生产配置文件的 OIDC 设置;将 Blueprint...JHipster 团队还 发布 了 JHipster Lite 0.30.0,带来了 Bug 修复、依赖项升级和功能增强,包括:删除重复的 JSON Web Token 依赖;ApplicationAuthorizations

    2.1K20

    为云开发API接口的最佳方案

    )公开。...这些多重因素为API端点提供了更高的安全性。 API响应类型 API的请求和响应类型需要考虑馈送输入和消耗输出。API请求和响应可以是XML或JSON。...验证API端点 API端点与云平台管理网址不同。API端点通常包括主机,端口和路径。如果它是一个REST API,它还包含一个认证key和密钥。...了解某些提供程序和平台设置的API速率限制(用户在一段时间内可以对API端点进行的API请求数),因为它显示了我们可以多频繁地调用端点。...一些云服务提供商/平台为每个要使用的服务公开不同的端点。建议对API端点维护一个服务目录,以确保使用正确的那个。 有时端点根据云平台或服务的子帐户而有所不同。

    3.4K60
    领券