/ / Come ignorare la chiamata API con il corpo json non valido nel gestore API WSO2 - json, api, wso2, wso2-am

Come ignorare la chiamata API con il corpo json non valido nel gestore API WSO2 - json, api, wso2, wso2-am

Uso il gestore API wso2 per pubblicare alcuni dei mieiAPI. Ma il mio problema è che se qualcuno invia una richiesta API con un corpo json non valido, è in grado di ignorare quella chiamata API e dare un messaggio di errore alla persona richiesta senza inviare quel corpo json non valido al back-end. Versione del gestore API: 1.7

  • Questa è la richiesta json errata (prova a inviare senza valore per "moduleCode")

    {
    "event": {
    "portalType": "dfd",
    "moduleCode": ,
    "role": "3",
    "roleCode": "dfdf",
    "languageID": "gd",
    "password": "dfdfgd",
    "phoneNumber": "2332323",
    
    "resourceCode": [
    "8045005"
    ]
    
    
    }}
    

Potrebbe essere possibile limitare l'utente in base al valore del ruolo nel suddetto json? Come raggiungere questo obiettivo con API Manager 2.0?

risposte:

2 per risposta № 1

Non ci sono modi predefiniti per raggiungere questo requisito, ma è possibile personalizzare l'API Manager di WSO2 per soddisfare questo requisito.

È possibile scrivere un gestore personalizzato che convaliderà il corpo della richiesta e restituirà la risposta se la richiesta ha qualche errore piuttosto che inviare al back-end. Puoi controllare Qui su come scrivere un gestore personalizzato per API Manager 2.0.


1 per risposta № 2

Puoi fare riferimento a questo articolo "Come convalidare il carico utile della richiesta JSON in API Manager". Questo è esattamente il tuo caso d'uso e solo l'indirizzocosa devi fare è aggiungere XSD per abbinare alla tua richiesta. In Gestione API se è necessario convalidare la richiesta o il messaggio di preelaborazione, si consiglia sempre di utilizzare le estensioni di mediazione disponibili con il prodotto.


0 per risposta № 3

In arrivo la richiesta sarà trasformata in SOAPformat by message builder [1]. Questo generatore di messaggi verrà scelto in base al tipo di contenuto del messaggio in arrivo. È possibile scrivere il proprio generatore di messaggi per l'applicazione / json e convalidare l'input. ad es. [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