还有就是如果对于一个表在不同的地方需要不同的数据,比如一个user表有姓名、性别、年龄、QQ等信息,有的时候需要姓名和性别,有的时候需要姓名和年龄,还有的时候需要QQ和年龄。那么我应该怎么做,是将信息全部传递出去,需要哪些就用哪些,还是说只传出需要的信息。
如果是只传出需要的信息的话,用ResponseBody传json数据该如何筛选信息呢。
不要说把不要的信息设置为null,然后判断为null的话就不传。有的时候就是需要向前端传递一个null
还有就是如果对于一个表在不同的地方需要不同的数据,比如一个user表有姓名、性别、年龄、QQ等信息,有的时候需要姓名和性别,有的时候需要姓名和年龄,还有的时候需要QQ和年龄。那么我应该怎么做,是将信息全部传递出去,需要哪些就用哪些,还是说只传出需要的信息。
如果是只传出需要的信息的话,用ResponseBody传json数据该如何筛选信息呢。
不要说把不要的信息设置为null,然后判断为null的话就不传。有的时候就是需要向前端传递一个null
1.后端的一个职责就是封装好前端不应该知道的东西
2.第一个情况一般是后端进行处理
3.第二个问题一般视信息敏感程度,如果是一般信息,可能全部传,由前端做显示筛选(因为很可能产品改一下某个字段又要显示了)
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
这里需要考虑数量大及请求频繁的情况,特别在移动网络下更需要在意传输的内容。
一般后端一个接口是代表一个单一功能,由后端把筛选规整后的数据,按照分页的形式response。大部分情况下,不要采用多次请求(或者看成是按照数据结构来查询),让前端来告诉后端如何查询数据库。
segmentfault.com自身就是个很好的例子。
而另一点,可以让前端在请求参数中加上关键字,如:keywords:['name','sex','age' ]或keywords:['name','sex' ],在同一个接口下请求后,response时分别可以获得由3个或2个关键字组成的数据JSON。