En utilisant wso2, DSS version 3.01, j'essaie d'avoir un paramètre d'entrée qui pourrait être un paramètre optionnel. Un utilisateur peut dire, donnez-moi toutes les informations pour ce code spécifique, ou si un utilisateur ne spécifie aucun code, je veux donner toutes les lignes de données. Pouvez-vous aider?Utilisation du paramètre d'entrée comme entrée optionnelle
Répondre
Bien vous pouvez rendre les paramètres d'entrée facultatifs en donnant des valeurs par défaut aux paramètres d'entrée. Par exemple
<query id="MyQ" useConfig="myDS">
<sql>select cust_id,name from customer where cust_id = ?</sql>
<result element="Entries" rowName="Entry">
<element column="cust_id" name="cust_id" xsdType="string"/>
<element column="name" name="name" xsdType="string"/>
</result>
<param defaultValue="1" name="cust_id" sqlType="INTEGER"/>
</query>
Ici, si vous ne mentionnez pas les paramètres d'entrée, le paramètre d'entrée sera pris comme un. Ou bien vous devez créer deux requêtes et les gérer par programme
Il semble que j'ai besoin de créer 2 requêtes? Comment je fais ça? J'ai le paramètre et la ressource suivants. «
Vous devez créer deux requêtes avec le paramètre d'entrée Cd et une autre requête sans paramètre d'entrée qui prend tout, puis mapper chaque requête pour différer loyer opperations – poohdedoo
Ok. Je peux créer 2 requêtes. Comment mappez-vous ces 2 requêtes à une opération différente? Je suis nouveau à DSS. J'apprécierais votre exemple. Merci. – user2872396
ok soo par exemple
<query id="employeesByNumberSQL" useConfig="default">
<sql>select * from Employees where employeeNumber = ?</sql>
<result element="employees" rowName="employee">
<element column="lastName" name="last-name" xsdType="string"/>
<element column="firstName" name="first-name" xsdType="string"/>
<element column="email" name="email" xsdType="string"/>
<element column="salary" name="salary" xsdType="double"/>
</result>
<param name="employeeNumber" ordinal="1" paramType="SCALAR" sqlType="INTEGER" type="IN"/>
select * from employés
Vous avez deux requêtes employeesByNumberSQL, employeesByNumberSQL1 ces deux sont mis en correspondance togetemployeesByNumber et getemployeesByNumber2
Vous dites avoir 2 opérations (une pour chaque requête) et 2 méthodes GET de ressources, une pour chaque. Est-ce ce que vous dites? Parce que ce que je voudrais, c'est avoir une ressource GET avec un CD d'entrée. Il faudrait un cd si un utilisateur fournissait, et sinon, lister tout en utilisant la ressource '
Au lieu de créer une requête pour chaque paramètre optionnel, vous pouvez également effectuer les opérations suivantes:
<query id="selectEmployees" useConfig="default">
<sql>select * from Employees where (:employeeNumber is null or employeeNumber = :employeeNumber)</sql>
<result element="employees" rowName="employee">
<element column="lastName" name="last-name" xsdType="string"/>
<element column="firstName" name="first-name" xsdType="string"/>
<element column="email" name="email" xsdType="string"/>
<element column="salary" name="salary" xsdType="double"/>
</result>
<param defaultValue="#{NULL}" name="employeeNumber" ordinal="1" paramType="SCALAR" sqlType="INTEGER" type="IN"/>
</query>
<operation name="getEmployees">
<call-query href="selectEmployees">
<with-param name="employeeNumber" query-param="employeeNumber"/>
</call-query>
</operation>
vous pouvez maintenant appelez 'getEmployees' avec 'employeeNumber' et obtenez un employé spécifique,
ou vous pouvez appeler 'getEmployees' sans 'employeeNumber' et obtenir tous les employés.
(L'appel sans 'employeeNumber' est en omettant la balise 'employeeNumber' ou en utilisant 'xsi: nil = "true"'.)
De toute évidence, vous ne pouvez pas interroger la valeur 'null' de cette façon.
Impressionnant ... Fonctionne comme un charme !!!! –
- 1. Utilisation du fichier comme entrée, iPhone App
- 2. Utilisation de ctypes.c_void_p comme entrée de glTexImage2D?
- 3. Utilisation du paramètre optionnel
- 4. Utilisation du paramètre de modèle comme argument dans un modèle
- 5. Utilisation du symbole comme paramètre de la fonction dans Ruby
- 6. Utilisation du libellé ASP.NET comme paramètre de rapport SSRS
- 7. Utilisation du compte comme paramètre dans une procédure stockée?
- 8. Utilisation d'un vecteur comme paramètre (C++)
- 9. utilisation du paramètre dans R
- 10. Process Builder - Passer la clé "Entrée" comme paramètre
- 11. Activator.GetObject - Utilisation du paramètre d'état
- 12. Utilisation du paramètre de sortie dans SqlDataSource
- 13. Utilisation de données Json comme paramètre de fonction
- 14. Utilisation de QList comme entrée pour les ensembles d'échantillons QwtPlotCurves
- 15. Utilisation correcte du paramètre final en Java
- 16. Request Nom du fichier comme entrée --Java
- 17. Vérification du numéro vide comme entrée
- 18. Utilisation du paramètre ouput de type SYS_refcursor
- 19. Utilisation du mot-clé de paramètre Verilog
- 20. Utilisation du nom ConnectionString dans le paramètre
- 21. Utilisation de fichier externe comme entrée en C++
- 22. Utilisation de IEnumerable <T> comme entrée d'une méthode
- 23. Comment utiliser numpy dans la saisie optionnelle
- 24. Utilisation pointeur comme paramètre de sortie d'un procédé objectif c
- 25. Utilisation d'une chaîne comme paramètre dans le plugin text requirejs
- 26. Utilisation correcte du paramètre ExtractIconEx nIconIndex?
- 27. pourquoi iterator.remove() a été décrit comme opération optionnelle?
- 28. Utilisation de la réponse du serveur comme entrée de table de clé étrangère?
- 29. MVC - Interface comme paramètre d'action du contrôleur
- 30. Facebook comme entrée d'état
Est-ce que vous voulez que l'utilisateur spécifie un critère pour une requête? – cmd
oui. J'ai utilisé l'entrée comme paramètre. Je ne suis pas sûr defaultvalue peut être utilisé comme ci-dessous de l'utilisateur @poohdedoo puisque je veux afficher tous les codes et pas seulement un. Un code peut être spécifié par un utilisateur. Le sql générique est fondamentalement ce que j'ai comme ci-dessous par poohdedoo. – user2872396