Skip to content

Commit f2c5b94

Browse files
committed
Build version 1.5.0
1 parent 3d7b166 commit f2c5b94

File tree

4 files changed

+4
-64
lines changed

4 files changed

+4
-64
lines changed

DIST/RestServices_mx5_1.5.0.mpk

442 KB
Binary file not shown.

README.md

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Welcome to the Rest Services module. This module can be used in [Mendix](http://
3232
# Getting Started
3333

3434
1. The *RestServices* module can be downloaded from within the Mendix Business Modeler in the Mendix Appstore into any model that is build with Mendix 4.4.4+ or Mendix 5.3.1+.
35-
2. The RestServices module depends on the on the [Community Commons](https://appstore.mendix.com/link/app/community%20commons) module, version 4.3.2 or higher. Download this module as well if it is not already part of your project.
35+
2. The RestServices module depends on the on the [Community Commons](https://appstore.mendix.com/link/app/community%20commons) module, version 5.4 or higher. Download this module as well if it is not already part of your project.
3636
3. TODO: connect userroles and layouts (mx 5)
3737
3. *[Optional]* If you want to publish REST services or use the data synchronization features, add `IVK_OpenServiceOverview` to your main navigation if you want to use the administrative features of the RestServices module. Make sure to map your administrative project role to the `Administrator` role in the RestServices module as well.
3838
4. *[Optional]* If you want to publish REST services, add `StartPublishServices` to the startup sequence of your application. Also, the 'rest/' request handler needs to be opened if running in the Mendix Standard Cloud (or on premise).
@@ -279,7 +279,7 @@ The state of the change log can be viewed in the RestServices overview form, bot
279279
The JSON serialization process starts with a (preferably) transient object and converts it into a JSON structure as follows:
280280

281281
1. Given a transient object, a new JSON object is created (`{}`)
282-
2. Each of its primitives members is added as key value pair to the JSON object. The 'nearest' json type is used, for example integers and longs are turned into numbers, booleans in to booleans and the others into strings (or `null` values). For example: `{ "task" : 17, "description" : "Buy milk" }
282+
2. Each of its primitives members is added as key value pair to the JSON object. The 'nearest' json type is used, for example integers and longs are turned into numbers, booleans in to booleans and the others into strings (or `null` values). For example: `{ "task" : 17, "description" : "Buy milk" }`. Decimals are serialized as string to preserve precision. For a numeric presentation please use the Mendix float attribute type.
283283
3. For each owned reference that points to a *transient* object, another key/value pair is added to the object. As key the name of the reference is used, but *excluding* the module name. As value either `null` is used if the reference is not set, or the child object is serialized into a JSON object as well, using this very same procedure.
284284
4. For each owned referenceset that points to a *transient* object, the same approach is taken, except that the value is an array (`[]`) to which each serialized child object is added.
285285
5. If an owned reference(set) points to a *a* persistent object the reference is not serialized, unless a data services is defined for the specified entity. In such a case, the url of the referred object is determined and added to the result.
@@ -577,64 +577,4 @@ It is also possible do share data using RestServices as the module generates RES
577577
# HTTP Verbs in Rest
578578

579579
See the table at [http://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services](http://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services) to get an idea how the `get`, `put`, `post` and `delete` verbs should be used in combination with rest. The RestServices module respects these best practices as well.
580-
581-
# Changelog
582-
583-
## Version 1.3
584-
585-
New features:
586-
* #16, #23: Introduced template paths for both consuming and publishing REST services. For example urls like `http://myapp.com/rest/groups/{groupId}/users/{userId}` can be used.
587-
* #15, #27: improved handling of errors
588-
589-
Issues fixed:
590-
* #18: introduced RestServiceError entity for improved error handling
591-
* #19: improved handling of connection errors
592-
* #13: introduced setResponseStatus
593-
* #14: introduced alternative basepath for rest api's
594-
* #17: JSON deserialization is now case insensitive
595-
* #25: Microflow services now always require a HTTP verb upon definition
596-
* #24: Improved URL decoding
597-
* #26: Improved handling of booleans not available in the request data
598-
* #21, #22: Several optimizations in handling urls concerning casing and leading or trailing slashes
599-
* POST requests to a dataservice now return a JSON object with the object key
600-
601-
## Version 1.2
602-
603-
New features:
604-
* Introduced cookie management, both when consuming and publishing: `addCookieToNextRequest`, `getRequestCookies`, `getResponseCookies`, `setResponseCookie`. Fixes #6, #11, #12
605-
* Implemented #7: Service names will always be presented lowercase, but interpreted case-insensitive.
606-
* Implemented #8: Microflow services are now allowed to return any type of data.
607-
608-
Fixes:
609-
* Wrongly typed JSON request data will now respond with status code `400 BAD REQUEST` (instead of `500`). Fixes #10.
610-
* Cookies will not be parsed and send automatically. Fixes #6.
611-
* Null values are now accepted as string values. Fixes #9.
612-
* Request data is now parsed as JSON if no content-type is set.
613-
* All requests are now served and send with content-type `application/json` instead of `text/json`. Fixes #5.
614-
615-
## Version 1.1
616-
617-
New features:
618-
619-
* Introduced `get2`, which is similar to get, but takes an argument object as well, which is converted to url parameters
620-
* Introduced sandbox compatibility by falling back to `ws-doc/` because the `rest/` handler cannot be opened on sandboxes
621-
* Introduced `getBaseUrl` java action which returns the base endpoint of published restservices
622-
* Improved the rendering and styling of generated HTML pages
623-
* Introduced `getRestConsumeError` to be able to inspect response data after an exception has occured (fixes issue #3)
624-
* Introduced methods to be able to work with HTTP headers: `getResponseHeader`, `getRequestHeader` and `setResponseHeader`
625-
* Introduced new authentication method: a microflow can now be used for authentication. This microflow can perform authentication on, for example, apikey headers.
626-
627-
Fixes:
628-
* Reduced the number of layout dependencies on the hosting project project
629-
* Improved parameter names
630-
* Fixed issue with the garbage collector while publishing referenced data
631-
* Improved transaction handling
632-
* Fixed several minor bugs & exceptions
633-
634-
## Version 1.0.1
635-
636-
Initial release for Mendix 5
637-
638-
## Version 1.0
639-
640-
Initial release for Mendix 4
580+
See the table at [http://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services](http://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services

RestServices.mpr

0 Bytes
Binary file not shown.

javasource/restservices/RestServices.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class RestServices {
2020
/**
2121
* Version of the RestServices module
2222
*/
23-
public static final String VERSION = "1.4.2";
23+
public static final String VERSION = "1.5.0";
2424

2525
/**
2626
* Amount of objects that are processed by the module at the same time.

0 commit comments

Comments
 (0)