我有一个API服务器,某些用户可以说A
,B
和C
。
我对每种类型都有相同的类但是我的问题是,某些类型的属性必须被隐藏,或者有时我必须隐藏属性,如果API调用者不是资源的所有者。< / p>
现在,我检查每个API函数,我将发回的所有属性,如果在#34;授权&#34;中没有,则将每个属性初始化为null。组,但功能越多,工作量越大......
任何想法是否有意思更聪明地做到这一点?
答案 0 :(得分:0)
如果我理解正确,那么您所寻找的主要是为不同的用户类型(A,B,C)定义不同的属性。
你正面临这个问题,因为你正试图强迫&#34;你自己为所有类型使用相同的类。我认为更简单和更清晰的方法是使用不同的类集映射每个用户类型。这就是我的意思:
目前的实施:
PS:我认为这更像是一个OOP问题,而不是java。
hide properties b,c (just an example)
+----------- A
|
|hide property c (just an example)
K--------+----------- B
|
|add property d (just an example)
+----------- C
提议的方法:
K----------------- A
L----------------- B
M----------------- C
根据您的需要组织KLM课程。如果你可以在父类中概括它们的一些属性,那么让我们说P,并将这些属性移动到该类,并将所有特定属性移动到子类(K,L,M)。
恕我直言,这是一个更清洁的解决方案。