Changes for page ERRest In Depth

Last modified by Pascal Robert on 2012/06/10 16:01

From version 38.1
edited by Pascal Robert
on 2012/05/02 20:06
Change comment: There is no comment for this version
To version 34.1
edited by Pascal Robert
on 2012/06/10 12:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,3 +1,25 @@
1 +General architecture
2 +Same Origin policy
3 +Transactions
4 +HTML vs other formats
5 +Response representation
6 +Missing route
7 +Missing object
8 +POJO objects
9 +Headers
10 +Caching
11 +Adding new format
12 +Security
13 +strictMode
14 +Workflow
15 +Query arguments and RXRestFetchSpecification
16 +ERXRestNameRegistry
17 +MapClassDescription / NSDictionaryClassDescription
18 +
19 +ERXRestUtils
20 +
21 +request > route
22 +
1 1  * ERXRestContext
2 2  ** contains the editing context and an userInfo dictionnary
3 3  ** will be populated with er.rest.dateFormat, er.rest.timestampFormatter and er.rest.timestampFormat (read only for non-HTML responses)
... ... @@ -18,13 +18,17 @@
18 18  ** you just need to override createRestContext() in your controller if you want to add other stuff to the context (a user, etc.)
19 19  * Properties
20 20  ** ERXRest.idKey (ERXRestFormatDelegate)
21 -*** (default "id") Override this property if you want to use a different key for the 'id' attribute ERXRest.typeKey
43 +*** (default "id") Override this property if you want to use a different key for the 'id' attribute** ERXRest.typeKey**
22 22  ** ERXRest.nilKey (ERXRestFormatDelegate)
23 23  ** ERXRest.writeNilKey (ERXRestFormatDelegate)
24 24  ** ERXRest.pluralEntityNames (ERXRestFormatDelegate)
25 25  ** ERXRest.writeTypeKey (ERXRestFormatDelegate)
26 -** ERXRest.suppressTypeAttributesForSimpleTypes
48 +** ERXRest.suppressTypeAttributesForSimpleTypes (ERXXmlRestWriter)
49 +*** (default "false") If set to true, primitive types, like type = "datetime", won't be added to the output
27 27  ** ERXRest.strictMode
51 +*** In ERXMissingRouteController: (default "true") If set to true, status code in the response will be 405 Not Allowed, if set to false, status code will be 404 Not Found
52 +*** In ERXRouteController: (default "true") If set to true, status code in the response will be 405 Not Allowed, if set to false, status code will be 404 Not Found
53 +*** ERXRouteResults: (default "true") If set to true, creating a ressource will return status code 201 Created, if set to false, will return 200 OK
28 28  ** ERXRest.pluralEntityNames (ERXRouteRequestHandler)
29 29  ** ERXRest.routeCase (ERXRouteRequestHandler)
30 30  ** ERXRest.lowercaseEntityNames (ERXRouteRequestHandler)
... ... @@ -42,8 +42,18 @@
42 42  ** er.rest.timestampFormat.secondary
43 43  ** er.rest.timestampFormatter
44 44  ** er.rest.rfcDateFormat
45 -** ERXRest.transactionsEnabled
46 -** ERXRest.maxEventsPerTransaction
71 +** er.rest.jodaTime
72 +** ERXRest.transactionsEnabled (default 'false') ERXRestTransactionRequestAdaptor
73 +** ERXRest.maxEventsPerTransaction (default '50') ERXRestTransactionRequestAdaptor
74 +** ERXRest.accessControlAllowRequestHeaders (ERXRouteController)
75 +** ERXRest.accessControlAllowRequestMethods (ERXRouteController)
76 +** ERXRest.defaultFormat (ERXRouteController)
77 +*** (default "xml") Allow you to set the default format for all of your REST controllers
78 +** ERXRest.allowWindowNameCrossDomainTransport (ERXRouteController)
79 +** ERXRest.accessControlMaxAge (ERXRouteController)
80 +*** (default 1728000) This header indicates how long the results of a preflight request can be cached. For an example of a preflight request, see the above examples.
81 +** ERXRest.accessControlAllowOrigin (ERXRouteController)
82 +*** Set the value to '**' to enable all origins. See [[https://developer.mozilla.org/En/HTTP_access_control#Access-Control-Allow-Origin]]**
47 47  * JSON Schema
48 48  ** {{code}}
49 49  /something?schema=true
... ... @@ -57,31 +57,6 @@
57 57  }
58 58  {{/code}}
59 59  
60 -Same Origin policy
61 -Transactions
62 -HTML vs other formats
63 -Response representation
64 -Missing route
65 -Missing object
66 -POJO objects
67 -Headers
68 -Caching
69 -Adding new format
70 -Security
71 -strictMode
72 -Workflow
73 -Query arguments and RXRestFetchSpecification
74 -ERXRestNameRegistry
75 -MapClassDescription / NSDictionaryClassDescription
76 -
77 -ERXRestUtils
78 -Properties
79 -er.rest.dateFormat
80 -er.rest.timestampFormat
81 -er.rest.rfcDateFormat
82 -
83 -request > route
84 -
85 85  Application(ERXApplication).dispatchRequest(WORequest) line: 2051
86 86  ERXRouteRequestHandler(WOActionRequestHandler).//handleRequest(WORequest) line: 221
87 87  ERXRouteRequestHandler.getRequestHandlerPathForRequest(WORequest) line: 782//
... ... @@ -113,13 +113,3 @@
113 113  | ERXRest.strictMode | ERXRest.strictMode
114 114  \\          |
115 115  ERXRouteController
116 -
117 -Properties
118 -
119 -ERXRest.accessControlAllowRequestHeaders
120 -ERXRest.accessControlAllowRequestMethods
121 -ERXRest.defaultFormat
122 -ERXRest.strictMode
123 -ERXRest.allowWindowNameCrossDomainTransport
124 -ERXRest.accessControlMaxAge
125 -ERXRest.accessControlAllowOrigin