Avec L'histoire du rasoir de ServiceStack nous disposons de plusieurs moyens de sélectionner la vue Razor que nous voulons utiliser pour le rendu d'une page. Mieux encore, et c'est essentiel dans mon cas, nous pouvons passer un en-tête Content-Type (ou un paramètre de chaîne de requête, ou même un "suffixe" de page) pour renvoyer le modèle brut dans un fichier une variété de formats .
Existe-t-il un moyen d'utiliser Modèles ServiceStack (aujourd'hui connu sous le nom de SharpScript ) pour faire la même chose ? Je suis l'exemple ici mais je n'obtiens que la réponse au format HTML standard. Il n'utilise pas mon modèle, quel que soit son nom.
En suivant l'exemple de la v5.5 Notes de mise à jour :
[Route("/hello/{Name}")]
public class Hello : IReturn<HelloResponse>
{
public string Name { get; set; }
}
public class HelloResponse
{
public string Result { get; set; }
}
public class HelloService : Service
{
public object Any(Hello request) => new HelloResponse { Result = $"Hello, {request.Name}!" };
}
Aller à /hello/World?format=html
me fournit le rapport HTML standard, et non mon modèle. J'ai suivi un autre exemple pour le forcer à utiliser le modèle ....
public object Any(Hello request) =>
new PageResult(Request.GetPage("examples/hello")) {
Model = request.Name
};
... et il renvoie TOUJOURS mon modèle, même si je spécifie /hello/World?format=json
.
Existe-t-il un moyen d'avoir une sélection de vues de type Razor pour les pages ServiceStack + ScriptSharp, mais aussi de prendre en charge différents formats de réponse ?