Estava tendo problemas com a funcionalidade de inserções de fotos. Apesar de haver rota cadastrada para o path p/add, eu estava recebendo mensagem de que o endereço http://localhost:3000/photos/add não existia. Depois de muito penar, já que essa rota não existia explicitamente em qualquer lugar do código, percebi que estava sendo feita uma chamada a findById, do PhotoService. Contudo, o componente associado ao path photos/add não deveria chamar findById. Das rotas montadas dinamicamente, a única que poderia resultar em photos/ era a da requisição get feita por essa função, contudo, o parâmetro da função é tipado para number, o que deveria gerar erro na chamada, caso um número não fosse passado. Acontece que o erro não é gerado e, sim, estava chegando "add" como parâmetro photoId do tipo number para função. Persistia ainda uma dúvida: como a navegação tinha ido parar no componente que instanciava findById? Foi aí que percebi que existiam duas rotas muito próximas no app.routing: 1a) que derivava a partir de photos/:photoId e navegava para PhotoDetailComponent (que chama findById); 2a) que derivava a partir de photos/add e navegava para PhotoFormComponent; Imaginei que o arquivo de rotas não tem checagem de tipos, faz busca sequencial e retorna à primeira correspondência. Inverti a declaração das rotas no arquivo e parece que o problema foi resolvido. Essa é a interpretação e a solução correta para o problema?