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

从@RestController而不是DTO返回@Entity时是否有任何陷阱?

商松
2023-03-14

当从@RestController而不是DTO返回@Entity时,是否存在任何缺陷?这样地:

    @RestController
    public class EmployeeRestController {
    
        @Autowired
        private EmployeeRepository repository;
        
        @GetMapping("/rest/employee/get/{id}")
        public Employee getEmployeeByID(@PathVariable("id") int id) {
            return repository.retrieve(id);
        }

@Entity
public class Employee {
...

共有2个答案

陈浩
2023-03-14

不,没有任何.您可以返回一个实体,Spring启动会将您的实体隐藏到Json对象中

严宏朗
2023-03-14

你现在做的绝对没问题。背后没有任何陷阱。

 类似资料:
  • 我有一个spring boot webapp,我在其中定义了REST API。我将Spring Security性用于REST API安全性。 我已经用RESTController注释了我的控制器类。我最近更新了spring boot,mvc和安全性到最新版本。 我现在看到,在我的负面情况下,在更新之前,它返回json错误响应,但现在在更新之后,它返回html错误响应。 在更新之前,它给出了以下错

  • 问题内容: 这是我正在考虑使用的模式: 通常,相对于dict get / set访问,我更喜欢对象属性访问的语义,但是在某些情况下,需要像dict一样的访问(例如),并且在这些情况下,我不希望使用特殊的gettersetter方法,因此,具有共享属性的dict和object同时具有双重行为。 是否有上述模式的陷阱? 问题答案: 这是达到相同效果的一种不太“ hacky”的方法: 我 认为 您的方法

  • 问题内容: 如果某些列返回FALSE,如何显示不同的值, 例如, COLUMN“ BASIC”返回FALSE,但我需要为用户显示YES或NO。情况为FALSE,请返回NO。 问题答案: 如果是varchar或bit,则处理NULL 或者如果只是一点点 编辑:

  • 我试图让2支球队互相比赛。当我说团队1.玩(团队2)时,我称之为;当 i 生成的数字小于 0.5 时,team2 应获胜,如果大于 0.5,则团队 1 应获胜。当团队 1 获胜时,它会正确显示为尼克斯,但当团队 2 获胜时,它会显示内存地址。我怎么能让它正确地说网是赢的,而不是team@78987neu73

  • 问题内容: 我目前正在为一个项目创建REST-API,并且一直在阅读有关最佳实践的文章。许多人似乎反对DTO,只是公开域模型,而其他人似乎认为DTO(或用户模型或任何你想称呼的东西)是不好的做法。我个人认为这篇文章很有道理。 但是,我还了解了DTO的所有额外映射代码,域模型可能与其DTO对应对象100%相同的缺点等。 我们主要创建API,以便其他客户端可以使用数据,但是,如果操作正确,我们也将尽可

  • 问题内容: 据我所知,使用或实例化对象分别返回或的新实例。具有 新标识 的新实例对象。 在我实际测试它之前,这对我来说是很清楚的,我注意到它实际上返回了而不是预期的: 如预期的那样,分别使用和创建对象时,也会表现出这种行为: 我可以在状态文档中找到唯一相关的信息: […]例如,return和return 。 如果未提供任何参数,则构造函数将创建一个新的空元组。 可以说,这不足以回答我的问题。 那么