2017-12-18 12 views
0

私は非常に奇妙なことがあります。私は2つのコントローラを持っています。 UploadControllerおよびAccountController。 Theyeはどちらも動作していましたが、今私が試してみるとAccountControllerはエラー404を返します。私はここで何かを逃してください.Net Core 2.0 Web APIコントローラが機能しない404

namespace CoreAngular.Controllers 
{ 
    //[Authorize] 
    [Produces("application/json")] 
    [Route("api/account")] 
    public class AccountController : Controller 
    { 
     private IRepository repository; 

    public AccountController(IDatabaseClient<DocumentClient> client) 
     : this (new UserRepository(client)) 
    { 
    } 

    public AccountController(IRepository repository) 
    { 
     this.repository = repository; 
    } 

    [HttpGet] 
    public async Task<ActionResult> Get(string id) 
    { 
     var start = DateTime.Now.TimeOfDay; 
     if (string.IsNullOrEmpty(id)) 
     { 
      return BadRequest(); 
     } 

     var user = await repository.GetAsync(id); 
     if (user == null) 
     { 
      return NotFound(); 
     } 
     var userDTO = new UserGetDTO() 
     { 
      image = Convert.ToBase64String(user.image.image), 
      id = user.id, 
      time = DateTime.Now.Subtract(start).Millisecond 
     }; 
     return Ok(userDTO); 
    }...... 

これは私のAccountControllerがどのように見えるかですか?私は[Authorize]をcomentet知っているが、私はちょうど接続しようとしたかった。

+0

? – CodeFuller

+0

私はこのURLを使用します:http:// localhost:50331/api/account/{{ID}} – apero

+0

あなたはアカウントとIDの間にスラッシュがありますか? URLはhttp:// localhost:50331/api/account/SomeIdのようにしてください。 – CodeFuller

答えて

1

あなたはHttpGet属性にルートテンプレートを指定する必要があります:あなたはコントローラのアクションを呼び出すために使用しないURL

[HttpGet("{id}")] 
public async Task<ActionResult> Get(string id) 
{ 
    // ... 
} 
+0

あなたは最高です!今私は修正するための他のエラーがあります:D – apero

関連する問題