I'm having trouble getting routing in Angular2/.Net Core to work properly.

I've started a default .Net Core web project with Angular, and have successfully created a new controller with the applicable view components. The page's purpose is to display a list of documents and give you the option to click the title to see each document in a separate view.

So long everything works, it displays the contents of the page and I can also display a list of documents retrieved from the database. The routing looks like this:

```
@NgModule({
    declarations: [
        AppComponent,
        NavMenuComponent,
        DocumentsComponent,
        HomeComponent
    ],
    imports: [
        CommonModule,
        HttpModule,
        FormsModule,
        RouterModule.forRoot([
            { path: '', redirectTo: 'home', pathMatch: 'full' },
            { path: 'home', component: HomeComponent },
            { path: 'documents', component: DocumentsComponent },
            { path: '**', redirectTo: 'home' }
        ])
    ]
})
export class AppModuleShared {
}

```

I have a link on each document so that when you click it you are transferred from the list `/documents` to eg. `/documents/1`

When I click on a link it only stays there long enough so I can see the URL change and then it goes to the default fallback `/home`.

In Startup.cs I have the default route handling set:

```
app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
    routes.MapSpaFallbackRoute(
        name: "spa-fallback",
        defaults: new { controller = "Home", action = "Index" });
});

```

From what I can tell the "default" map route should pick up `/documents/1` but it doesn't. I never even gets to the backend method for the route.

```
[Produces("application/json")]
[Route("api/[controller]")]
public class DocumentsController : Controller
{
    private readonly DatabaseContext _context;

    public DocumentsController(DatabaseContext context)
    {
        _context = context;
    }

    // GET: api/Documents
    [HttpGet]
    public IActionResult GetDocuments()
    {
        // returns a JSON list of documents, works fine
    }

    // GET: api/Documents/5
    [HttpGet("{id}")]
    public async Task<IActionResult> GetDocument([FromRoute] int id)
    {
        //returns the specified document, is never even called
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        var document = await _context.Documents.SingleOrDefaultAsync(m => m.Id == id);

        if (document == null)
        {
            return NotFound();
        }

        return Ok(document);
    }

```

What do I need to do to get the specific routes to work?