我有一个API控制器,其方法如下:
[HttpGet]
[Route("~/api/groups/{groupId}/feeds/{feedItemId}/flag")]
[FeedItemAccess(AccessLevelTypes.GroupMember, "groupId")]
public async Task<IActionResult> FlagFeedItem([FromRoute] int groupId, [FromRoute] long feedItemId)
{
try
{
await _feedManagementService.FlagMessage(groupId, feedItemId);
return Ok();
}
catch (Exception ex)
{
_logger.LogError(ex, "FlagFeedItem(int)");
return new OopsResult(ex);
}
}
我把断点放在
await
在线和在线
_logger
线路。然后,我使用REST客户机访问指定的端点(
http://myhost/api/groups/1/feeds/1/flag
)在调试模式下。
顺便说一句
FeedItemAccess
filter只检查用户连接到端点的租用权限;它似乎也工作得很好(我也可以截取,它在成功的情况下离开过滤器)。