Question: Is it possible to pass an output value that is a json object without MVIS corrupting the string?
I have a client that currently uses MVIS for RESTful services. The back end UniVerse application is responsible for building the response information in a json format. The output variable types are all of type "json" in the MVIS subroutine mappings. They would like to use vanity urls to make the urls more clear to the non-MV developers as well as reuse subroutines for multiple functions.
I created a test subroutine that takes an input string, upcases the string and sends the in and out strings in a json format. Here's what I get out the service calling the subroutine from MVIS.
{
"StringOut": {
"oldText": "hello there",
"newText": "HELLO THERE"
}
}
When I run the test using the vanity url I get the following.
{
"StringOut": "{\"oldText\": \"hello there\",\"newText\": \"HELLO THERE\"}"
}
The endpoints file looks like this.
- display-name: vanity-connection-test
method: POST
path: /test/ping
db-operation:
mvis-account: nexus
call:
subroutine: VANITY.TEST
params:
- name: StringIn
position: 1
type: string
binding: json-path
json-path: $.StringIn
param-direction: IN
- name: StringOut
position: 2
type: string
binding: response-body
param-direction: OUT
Is this a limitation of MVIS vanity urls?
------------------------------
Steve Murray-Wolf
Owner
Rocket Forum Shared Account
------------------------------
Original Message:
Sent: 03-11-2021 13:27
From: Anand Mirasdar
Subject: Using Vanity URLs in MVIS RESTful API end points
Creating RESTful end points with vanity URLs (a.k.a. URLs that have descriptive and easily remembered paths/names) in MVIS makes it easier for API users to understand the purpose of an API, and allows the developer to create a naming convention that helps with management of services. In these two videos @Girija Dhole and I show how to do it. Happy to answer your questions on this capability below.
------------------------------
Anand Mirasdar
Rocket Software
------------------------------