关于这个 Transformer 不同接口复用问题?

问答 wallboy ⋅ 于 1周前 ⋅ 最后回复由 Summer 1周前 ⋅ 197 阅读

比如咱的这个话题列表接口用的是TopicTransformer,那我话题详情也用这个TopicTransformer,但是详情接口却要多出来几个字段,这个该怎么来处理。虽然我这个接口也返回的是topic模型,但是想这个接口额外再返回其他字段

成为第一个点赞的人吧 :bowtie:
最佳答案
  • Summer MOD A Life-long learner.
    1周前

    有两个接口,普通商品列表和团购列表,接口返回都经过ProductTransformer,但是团购接口返回数据肯定跟普通接口返回的不一样。

    有两种方案:

    1. 都写在 ProductTransformer 里;
    2. 多写一个 GrouponProductTransformer;

    个人喜好占的因素多一点,选择哪一种都可以,自己和你的团队商量后解决后即可,不用太纠结。

回复数量: 3
  • liyu001989
    1周前

    我们应该站在资源的角度去想问题,一个资源的字段是固定的

    客户端不同界面需要的字段不同,但是需要客户端调用接口的时候告诉服务器该返回什么字段

    例如提供 fields (需要的字段) 参数 /api/topics?fields=id,title,user_id,created_at

    或者 except_fields (不需要的字段) /api/topics?except_fields=body,updated_at

    达到资源字段过滤,减小流量消耗的目的

  • wallboy
    1周前

    @liyu001989 你好,不太理解你说的这个资源指什么,指模型还是接口,如果指接口的话,那是不是每个接口都要定义一个Transformer。

    因为我现在开发时候确实遇到这种纠结的问题,如果按照你说的,需要什么字段就提供什么字段,会不会有点麻烦。
    有这么一个例子:

    一个商品,可以是普通商品,也可以是团购商品,团购商品继承商品模型,

    有两个接口,普通商品列表和团购列表,接口返回都经过ProductTransformer,但是团购接口返回数据肯定跟普通接口返回的不一样,但是我又不想普通商品返回出多余字段。

    如果又增加了几个接口,都跟商品相关,返回都需要经过ProductTransformer却都有着各自不同的字段需求,如何才能更方便的操作呢。

  • Summer MOD A Life-long learner.
    1周前

    有两个接口,普通商品列表和团购列表,接口返回都经过ProductTransformer,但是团购接口返回数据肯定跟普通接口返回的不一样。

    有两种方案:

    1. 都写在 ProductTransformer 里;
    2. 多写一个 GrouponProductTransformer;

    个人喜好占的因素多一点,选择哪一种都可以,自己和你的团队商量后解决后即可,不用太纠结。

暂无评论~~
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter