Conception DTO de demande de ServiceStack
La conception de l'API de ServiceStack diffère considérablement des approches WCF et API Web. Il met l'accent sur les services basés sur les messages où l'intégralité de la requête est capturée dans le Request DTO plutôt que dans les signatures de la méthode du serveur.
Combiner les appels RPC
ServiceStack permet à plusieurs appels RPC de être remplie par une seule implémentation de message et de service à distance. Par exemple, un seul service peut gérer la recherche de clients par identifiant, nom d'utilisateur ou e-mail.
Basé sur les messages ou conception RPC
Dans ServiceStack, le Request DTO représente l'essence de la demande et capture toutes les informations pertinentes. Cela diffère des services RPC comme WCF et Web API, où les paramètres de méthode spécifient la requête.
Séparation de la sémantique des appels et des types de réponse
Les services sont regroupés en fonction de la sémantique des appels ( filtrage ou combinaison) et les types de réponses (simples ou multiples). Cela permet une conception d'API propre et cohérente.
Distinguer les opérations de service des types
Les opérations de service (Request DTO) sont des actions (verbes), tandis que les types DTO qu'elles renvoient sont entités (noms). Gardez-les séparés pour maintenir la clarté.
Renvoi des réponses génériques
La nouvelle API de ServiceStack élimine le besoin d'une propriété ResponseStatus dans les réponses. Des DTO génériques de réponse d'erreur seront lancés le cas échéant.
Garder une nomenclature cohérente
Réservez le verbe "Get" pour les services qui interrogent sur des champs uniques. Utilisez « Rechercher » ou « Rechercher » pour les services qui filtrent et renvoient plusieurs résultats.
Contrats de service auto-descriptifs
Utilisez des noms de champs descriptifs dans vos demandes DTO pour effectuer votre API plus auto-documentée.
Mise en œuvre des services
Les services peuvent être annoté avec [Authentifier] pour autorisation. Fluent Validation peut être utilisé pour la validation des entrées en enregistrant les validateurs dans AppHost.
Gestion et validation des erreurs
Les exceptions ou Fluent Validation peuvent être utilisées pour la gestion des erreurs. Les validateurs sont non invasifs et peuvent être ajoutés selon une approche en couches sans modifier l'implémentation du service ou les classes DTO.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!