0

도트 넷 코어에서 경로를 지정하는 방법을 알고 싶습니다. 예를 들어, 나는 하나의 인자 (id)를 얻고 사용자를 반환하는 get 메소드를 가지고있다. 이 방법은이 링크 (api/user/1)를 통해 사용할 수 있습니다. 그래서,이 링크에 대한 메소드 ("api/user/1/profile")를 작성하여 ID를 얻고이 ID와 관련된 것을 리턴하는 방법이 있습니다. 2 가지 방법을 만들거나 경로를 구분하고 경로를 지정해야합니까?ASP 닷넷 코어

+0

제목을 질문에 대한 더 자세한 설명으로 변경하십시오. –

답변

2

속성 기반 라우팅을 사용하면 다음과 같이 수행 할 수 있습니다.

[HttpGet("{id:int}")] 
public async Task<IActionResult> GetUserById(int id) {} 

[HttpGet("{id:int}/profile")] 
public async Task<IActionResult> GetUserProfileById(int id) {} 

라우팅에 대한 자세한 내용은이 링크에서 찾을 수 있습니다. 당신이에서 기본 경로를 변경하지 않은 경우

https://docs.asp.net/en/latest/fundamentals/routing.html

0

는 :

app.UseMvc(routes => 
{ 
    routes.MapRoute(
     name: "default", 
     template: "{controller=Home}/{action=Index}/{id?}"); 
}); 

당신은 같은과 함께 사용자 컨트롤러를 만들 수 있습니다 다음

public async Task<IActionResult> Profile(int? id) 
{ 
    if (id == null) 
    { 
     // Get the id 
    } 

    var profile = await _context.Profile 
     .SingleOrDefaultAsync(m => m.Id == id); 
    if (profile == null) 
    { 
     return NotFound(); 
    } 

    return View(profile); 
} 

이 될 것이다 "/ User/Profile/{id}"에 매핑 됨

프로필의 데이터를 얻을 수는 있지만 EFCore 예제를 사용했습니다.