Changes for page ERRest In Depth

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

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

Summary

Details

Page properties
Content
... ... @@ -1,45 +43,3 @@
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 -
23 -{{code}}
24 -
25 - /**
26 - * A NameFormat that behaves like Rails -- plural entities, plural routes, lowercase underscore names
27 - * (names_like_this).
28 - */
29 - public static NameFormat RAILS = new NameFormat(true, true, NameFormat.Case.LowercaseUnderscore);
30 -
31 - /**
32 - * A NameFormat that behaves like WO -- singular entities, singular routes, camel names (NamesLikeThis).
33 - */
34 - public static NameFormat WO = new NameFormat(false, false, NameFormat.Case.CamelCase);
35 -
36 - /**
37 - * A NameFormat that behaves like WO -- singular entities, singular routes, lowercase camel names (namesLikeThis).
38 - */
39 - public static NameFormat WO_LOWER = new NameFormat(false, false, NameFormat.Case.LowerCamelCase);
40 -
41 -{{/code}}
42 -
43 43  * ERXRestContext
44 44  ** contains the editing context and an userInfo dictionnary
45 45  ** will be populated with er.rest.dateFormat, er.rest.timestampFormatter and er.rest.timestampFormat (read only for non-HTML responses)
... ... @@ -60,17 +60,13 @@
60 60  ** you just need to override createRestContext() in your controller if you want to add other stuff to the context (a user, etc.)
61 61  * Properties
62 62  ** ERXRest.idKey (ERXRestFormatDelegate)
63 -*** (default "id") Override this property if you want to use a different key for the 'id' attribute** ERXRest.typeKey**
21 +*** (default "id") Override this property if you want to use a different key for the 'id' attribute ERXRest.typeKey
64 64  ** ERXRest.nilKey (ERXRestFormatDelegate)
65 65  ** ERXRest.writeNilKey (ERXRestFormatDelegate)
66 66  ** ERXRest.pluralEntityNames (ERXRestFormatDelegate)
67 67  ** ERXRest.writeTypeKey (ERXRestFormatDelegate)
68 -** ERXRest.suppressTypeAttributesForSimpleTypes (ERXXmlRestWriter)
69 -*** (default "false") If set to true, primitive types, like type = "datetime", won't be added to the output
26 +** ERXRest.suppressTypeAttributesForSimpleTypes
70 70  ** ERXRest.strictMode
71 -*** 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
72 -*** 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
73 -*** ERXRouteResults: (default "true") If set to true, creating a ressource will return status code 201 Created, if set to false, will return 200 OK
74 74  ** ERXRest.pluralEntityNames (ERXRouteRequestHandler)
75 75  ** ERXRest.routeCase (ERXRouteRequestHandler)
76 76  ** ERXRest.lowercaseEntityNames (ERXRouteRequestHandler)
... ... @@ -88,18 +88,8 @@
88 88  ** er.rest.timestampFormat.secondary
89 89  ** er.rest.timestampFormatter
90 90  ** er.rest.rfcDateFormat
91 -** er.rest.jodaTime
92 -** ERXRest.transactionsEnabled (default 'false') ERXRestTransactionRequestAdaptor
93 -** ERXRest.maxEventsPerTransaction (default '50') ERXRestTransactionRequestAdaptor
94 -** ERXRest.accessControlAllowRequestHeaders (ERXRouteController)
95 -** ERXRest.accessControlAllowRequestMethods (ERXRouteController)
96 -** ERXRest.defaultFormat (ERXRouteController)
97 -*** (default "xml") Allow you to set the default format for all of your REST controllers
98 -** ERXRest.allowWindowNameCrossDomainTransport (ERXRouteController)
99 -** ERXRest.accessControlMaxAge (ERXRouteController)
100 -*** (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.
101 -** ERXRest.accessControlAllowOrigin (ERXRouteController)
102 -*** Set the value to '**' to enable all origins. See [[https://developer.mozilla.org/En/HTTP_access_control#Access-Control-Allow-Origin]]**
45 +** ERXRest.transactionsEnabled
46 +** ERXRest.maxEventsPerTransaction
103 103  * JSON Schema
104 104  ** {{code}}
105 105  /something?schema=true
... ... @@ -113,6 +113,31 @@
113 113  }
114 114  {{/code}}
115 115  
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 +
116 116  Application(ERXApplication).dispatchRequest(WORequest) line: 2051
117 117  ERXRouteRequestHandler(WOActionRequestHandler).//handleRequest(WORequest) line: 221
118 118  ERXRouteRequestHandler.getRequestHandlerPathForRequest(WORequest) line: 782//
... ... @@ -144,3 +144,13 @@
144 144  | ERXRest.strictMode | ERXRest.strictMode
145 145  \\          |
146 146  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