gpt4 book ai didi

java - 可以将 Spring MVC 响应 DTO 声明为静态嵌套类吗?

转载 作者:行者123 更新时间:2023-11-30 10:08:57 27 4
gpt4 key购买 nike

有时,在为 Web 应用程序设计 RESTful API 时,使用 Spring MVC 自动对象-JSON 转换功能会非常方便。要使用此功能,需要定义一个将被序列化的自定义类。

考虑这段代码:

@RestController
public class ClientLogin {

@PostMapping("/auth/password")
public AuthResponse doPasswordLogin(@RequestParam String username, @RequestParam String password) {
...
return new AuthResponse("test username", "test accessToken", "test sessionToken");
}

@PostMapping("/auth/token")
public AuthResponse doTokenLogin(@RequestParam String username, @RequestParam String token) {
...
return new AuthResponse("test username", "test new accessToken", "test sessionToken");
}

@RequiredArgsConstructor
@Getter
public static class AuthResponse {
private final String username;
private final String accessToken;
private final String sessionToken;
}
}

我的问题是直接在端点类中定义这些“响应”类是个好主意,还是为这些类创建单独的文件更好?请记住,除单元测试外,AuthResponse 对象未被任何其他端点使用。

最佳答案

在实际项目中,您需要将来自业务层的模型映射到表示层模型(在您的例子中是 AuthResponse )。此映射应该经过单元测试,以便访问 AuthResponse在您的测试中,您需要通过 import <package_name>.ClientLogin.AuthResponse 在导入中指定 ClientLogin Controller .我建议您尽可能保持代码分离。

关于java - 可以将 Spring MVC 响应 DTO 声明为静态嵌套类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53525641/

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