Używam menedżera API wso2 do publikowania niektórych moichPszczoła. Ale moim problemem jest to, że ktoś wysyła żądanie API z nieprawidłowym ciałem json, może zignorować to wywołanie API i przekazać komunikat błędu do żądanej osoby bez wysyłania tego nieprawidłowego ciała json do zaplecza. Wersja menedżera API: 1.7
To jest nieprawidłowe żądanie Json (spróbuj wysłać bez wartości dla "moduleCode")
{ "event": { "portalType": "dfd", "moduleCode": , "role": "3", "roleCode": "dfdf", "languageID": "gd", "password": "dfdfgd", "phoneNumber": "2332323", "resourceCode": [ "8045005" ] }}
Czy możliwe jest ograniczenie użytkownika o wartość roli w powyższym jsonie? Jak to osiągnąć dzięki API Manager 2.0?
Odpowiedzi:
2 dla odpowiedzi № 1Nie są one predefiniowanym sposobem osiągnięcia tego wymagania, ale można dostosować Menedżera interfejsu WSO2 API, aby spełnić to wymaganie.
Możesz napisać niestandardową procedurę obsługi, która sprawdzi poprawność treści żądania i zwróci odpowiedź, jeśli żądanie zawiera błąd, a raczej wysłanie do zaplecza. Możesz sprawdzić tutaj o tym, jak napisać niestandardową procedurę obsługi dla interfejsu API Manager 2.0.
1 dla odpowiedzi nr 2
Możesz odwołać się do tego artykułu "Jak sprawdzić poprawność ładunku żądania JSON w Menedżerze API". Jest to dokładnie adres przypadku użycia i tylkorzeczą, którą musisz zrobić, to dodać XSD, aby pasowało do twojego żądania. W Menedżerze interfejsów API, jeśli chcesz zweryfikować żądanie lub komunikat wstępny, zawsze zalecamy stosowanie rozszerzeń zapośredniczenia dostępnych w produkcie.
0 dla odpowiedzi № 3
W nadchodzącym żądaniu zostanie przekształcona na SOAPformatuj według budowniczego wiadomości [1]. Ten kreator wiadomości zostanie wybrany na podstawie typu zawartości wiadomości przychodzącej. Możesz napisać własny program do tworzenia wiadomości dla aplikacji / json i sprawdzić poprawność danych wejściowych. np. [2]
[1]https://docs.wso2.com/display/ESB481/Working+with+Message+Builders+and+Formatters [2]https://github.com/anuruddhal/WSO2-ESB-Custom-Message-Builder/tree/master/CustomBuilder