当前位置: 首页 > 知识库问答 >
问题:

Spring Boot中响应实体最佳实践中的返回类型

贺博厚
2023-03-14

我想回复ResponseEntity的回复。我对在ResponseEntity中提到返回类型的最佳实践有点困惑。

这是我的控制器:

private ResponseEntity<GenericResponse<AdminAccount>> getAdminBankDetails(@RequestAttribute ValidateResponse user) {
    AdminAccount adminAccount = adminAccountService.getAdminAccount(user.getCode());
    return ResponseEntity.status(HttpStatus.OK).body(new GenericResponse<AdminAccount>(SUCCESS_MESSAGE, adminAccount));
}

我的主要责任:

public class GenericResponse<T> {
    private String message;
    private T data;

    public GenericResponse(String message, T data) {
        this.message = message;
        this.data = data;
    }
}

这里我的返回类型是GenericResponse、AdminAccount。在ResponseEntity中提及所有退货类型是否是一种良好的做法?

private ResponseEntity<GenericResponse<AdminAccount>>

哪个是最好的方法响应实体


共有1个答案

苏鸿卓
2023-03-14

这里没有“所有”返回类型。您说GenericACKAdminUser都是返回类型,但实际上它都只是一个返回。它是一个GenericACK,类型为AdminUser。我建议您阅读有关泛型类型的信息。

但总的来说,您的响应实体的返回类型是GenericACK,而您的GenericACK的类型是AdminUser。这没有问题,因为返回类型不超过一种。

 类似资料:
  • 想改进这个问题吗 更新问题,通过编辑这篇文章,可以用事实和引用来回答。 API响应应该始终是JSON对象,键和值是json数组吗?因此: 或者 API 响应本身可以只是一个数组?我找不到这方面的最佳实践是什么,如果一个被认为是一个糟糕的方法。

  • 为了尊重REST原则的最佳实践,是否最好在POST/PUT时返回创建/更新的实体?还是用Location头返回一个空的HTTP体? 更准确地说,当一个资源由一个帖子创建时,我们应该返回: 状态201位置标头(HTTP正文中创建的实体) 或 状态 201 位置标头(空正文) 当一个资源被PUT更新时,我们是否应该返回: 状态200(HTTP主体中的更新实体) 或 状态 204(空正文)

  • 问题内容: 今天,我在登录表单后面添加了额外的安全检查,以减缓暴力攻击。我有多个登录表单,并提供了一个易于调用的函数,该函数可以进行所有检查,然后返回结果。 问题是结果不是单个值,结果包括: 为此,我创建了一个新类。这一切都很好。 但是我经常有方便的实用程序函数,这些函数会返回多个值,并开始发现每次为结果创建一个新类都有些烦人。 有没有更好的方法来返回多个值?还是我只是懒惰?:) 问题答案: 不,

  • 我试图遵循API的最佳实践,但我得到了相互矛盾的建议。大多数人建议对URI使用脊柱病例(例如stackoverflow和RFC3986。我有一个API,允许通过各种参数过滤GET请求: < code >获取/终结点?my-parameter=true 但是,我也在 GET 响应和 PATCH 请求中使用相同的参数。在那里,我看到更多的骆驼大小写或snake_case,脊柱大小写是一个额外的语言,不

  • 我正在spring boot中编写RESTAPI-s。我想确保我的代码对于使用swagger API开发工具(swagger)的前端开发人员是可读的。例如 如果请求成功,响应是一个分支对象,如果失败,响应是只有一个属性(消息)的FindError对象。因此,这两种方法的执行取决于响应。但是swagger UI没有显示响应应该如何显示,因为我使用了“?”作为泛型类型。这是捕捉错误的最佳实践吗?(这种

  • 问题内容: 因此,这里没有什么新鲜事,我只是想澄清一下,似乎无法在其他帖子中找到任何内容。 我正在重新创建新资源,说: 与身体: 我知道我应该返回带有新资源的Location标头的201(创建的): 我似乎无法为自己回答的问题是服务器应该返回什么内容。 我经常这样做: 我这样做有两个原因: 我已经为诸如angularjs的前端框架编写了api。在我的特定情况下,我使用的是角度资源,我通常只需要ID