Web Api Attribute Routing 没有映射?

Web Api Attribute Routing does not map?

我有以下 api 控制器,它有几个获取操作。这是一个 mvc 站点,它在不同的进程中设置并设置为另一个站点的子域。第三个动作应该是 return 一个 cv,并接受一个整数 id 和一个可选的 Cv 名称字符串。不幸的是,我一直无法让它工作。

    public class TempsController : BaseApiController
    {            

        [GET(""), HttpGet]
        public async Task<HttpResponseMessage> Get([FromUri] SearchCriteriaModel criteria)
        {
            .....
        }

        [Route("{candidateId:int}/preview/{keywords?}")]
        [HttpGet]
        public async Task<CandidatePreviewDto> Get(int candidateId, string keywords)
        {
            ...
        }

        [HttpGet]
        [Route("{candidateId:int}/cv/{name?}")]
        public async Task<HttpResponseMessage> Get(string name, int candidateId)
        {
            .....
        }

    }

这是生成的 url:

"https://temp-search.recruiter.workstation.local:443/recruiter/temp-search/api/temps/14348508/preview/project"

我通过执行以下操作解决了这个问题:

        [Route("api/temps/{candidateId:int}/preview/{keywords?}")]
        [HttpGet]
        public async Task<CandidatePreviewDto> Get(int candidateId,
                                                   string keywords = "")
        {
            CandidatePreviewDto preview = await candidateService.GetCandidatePreview(new CandidatePreviewQuery
                                                                                     {
                                                                                         CandidateId = candidateId,
                                                                                         Keywords = keywords
                                                                                     });
            return preview;
        }