gpt4 book ai didi

java - 为 Spring Web 服务分离 REST API 和实现

转载 作者:行者123 更新时间:2023-11-30 08:16:06 25 4
gpt4 key购买 nike

我一直在使用诸如 @RestController@RequestMapping 之类的 Spring 注解在 Spring Boot Web 应用程序中生成简单的服务。

所以我有这个简单的例子可以正常工作:

@RestController
public class HelloController {
@RequestMapping("/")
public String sayIt() {
return "Hello!";
}
}

现在,我想分离出一个仅包含 REST 接口(interface)和 DTO 的 API 库 (jar)。一个或多个单独的库将提供该接口(interface)的实际实现。然后我可以在客户端使用(轻量级)API 库来生成 REST 客户端代理以与任何实现对话。

那么...是否有任何注释或配置来分别标记 REST 接口(interface)和实现?如果不是,那么 Spring-y 的方法是什么而不是使用 JAX-RS 注释来实现这一点?

@Something1
public class HelloServiceApi {
@RequestMapping("/")
public String sayIt();
}

@Something2
public class HelloServiceImpl implements HelloServiceApi {
public String sayIt() {
return "Hello!";
}
}

最佳答案

我建议有一个只包含 DTO 对象的 jar,没有任何逻辑。然后 REST 服务器和客户端都可以使用它来传输对象。

客户端不应依赖于 REST war/jar 或逻辑。

此外,我会尝试确保我的 Controller 除了可能将 DTO 传输到域模型对象之外不包含任何逻辑,然后将其传递到业务逻辑层。

关于java - 为 Spring Web 服务分离 REST API 和实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28510380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com