의 우리가이 나머지 인터페이스는 서버의 관리자의 사용을 처음 생성 된 계정 자원소비자에 따라 다른 REST 인터페이스가있는 것이 맞습니까?
Admin/Account/Get
[Authorize(Admin)]
public ActionResult Get(id)
{
if(id > 0)
return _userService.Get(id);
else
return _userService.GetAll();
}
public ActionResult Post(account)
{
return _userService.Save(account);
}
의 REST 인터페이스를 가지고 있다고 가정 해 봅시다. 그래서 처음에는 전용 api입니다. 더 나은 점은 무엇입니까? 같은 리소스에 다른 인터페이스를 만들려면 있지만 다음과 같은 공개 API (다른 소비자)에 대한 :
Account/Get
[Authorize]
public ActionResult Get()
{
return _userService.Get(user.Id);
}
또는 그것은이다이
Account/Get
[Authorize(Admin, Users)]
public ActionResult Get(id)
{
if(admin){
if(id > 0)
return _userService.Get(id);
else
return _userService.GetAll();
} else {
return _userService.Get(user.Id);
}
}
public ActionResult Post(account)
{
if(admin)
return _userService.Save(account);
return null;
}
같은 동일한 자원에 대해 동일한 인터페이스를 만들 소비자와 관계없이 동일한 리소스에 대해 동일한 인터페이스를 갖는 것이 좋습니다. 또는 소비자가 다른 권한을 가지고 있다면 다른 휴식 API를 갖는 것이 더 낫습니다. 왜?