The JADE 2022 release meets tomorrow’s business demands.
REST Resource Naming Best Practices, as defined at https://restfulapi.net/resource-naming/ suggest that query strings should be used for filtering a resource collection.
For example,
http://api.example.com/device-management/managed-devices?region=USA&brand=XYZ
However, JADE-style REST URLs are of the form
IIS server URL/jadehttp.dll/path[.xml|json|jsonn]?app_name[&extra_info]
The ?app_name part is non-standard, and causes some third party tools (such as the .NET REST Client RestSharp) to be less effective at generating the URLs needed for consuming REST services from JADE.
The idea is to allow for JADE to provide the ability to implement REST services using the standard URL structure.
Closing because we have verified the workaround works for the primary use case. @tim will post more details if needed.
We use URL rewriting to make the URL more standard and to remove the dll and app name from the URL. This allows us to have a typical controller/method URL syntax. This works well.
There is an existing solution for this - using the URL rewrite feature of IIS we can accept a url of standard form, and then just rewrite it to put the app name in before sending it along to JADE (see https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module)
So far as I can tell this would allow for the changing of an application without breaking existing links. It does depend on being able to deduce the application name based on the other parts of the URL - for example you might know that Foos are only found in the Bar application, so we could rewrite
to
And then when we decide actually we want Bar to be renamed to Meh then we could just change the rewrite rule to spit out:
I'm curious as to whether anyone has used this, and whether there are any limitations with it that are pain points for people.
Presumably, the application to use would need to be inferred another way - Would it be possible to do that without exposing the application name as part of the URL at all? If so, would it make sense to support this for any type of web application as it may be useful in scenarios where we need to transition/redirect to a different application (without breaking previous links).