ServiceStack: Atualização de recursos RESTful

Eu tomei uma leitura para oVantagens dos serviços da web baseados em mensagem artigo e estou querendo saber se existe um estilo / prática recomendada para controle de versão Recursos restful no ServiceStack? As diferentes versões podem renderizar respostas diferentes ou ter parâmetros de entrada diferentes no DTO de solicitação.

Eu estou inclinado para um versioning de tipo de URL (ie / v1 / movies / {Id}), mas eu vi outras práticas que definem a versão nos cabeçalhos HTTP (ou seja, Content-Type: application / vnd.company.myapp-v2 ).

Eu estou esperando uma maneira que funciona com a página de metadados, mas não tanto uma exigência como eu notei simplesmente usando a estrutura da pasta / namespacing funciona bem ao renderizar rotas.

Por exemplo (isso não é processado diretamente na página de metadados, mas é executado corretamente se você souber a rota direta / url)

/ v1 / movies / {id}/v1.1/movies/{id}

Código

namespace Samples.Movies.Operations.v1_1
{
    [Route("/v1.1/Movies", "GET")]
    public class Movies
    {
       ...
    } 
}
namespace Samples.Movies.Operations.v1
{
    [Route("/v1/Movies", "GET")]
    public class Movies
    {
       ...
    }   
}

e serviços correspondentes ...

public class MovieService: ServiceBase<Samples.Movies.Operations.v1.Movies>
{
    protected override object Run(Samples.Movies.Operations.v1.Movies request)
    {
    ...
    }
}

public class MovieService: ServiceBase<Samples.Movies.Operations.v1_1.Movies>
    {
        protected override object Run(Samples.Movies.Operations.v1_1.Movies request)
        {
        ...
        }
    }