Changes for page ERRest In Depth

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

From version 39.1
edited by Pascal Robert
on 2012/05/02 21:50
Change comment: There is no comment for this version
To version 42.1
edited by Pascal Robert
on 2012/06/10 15:08
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,3 +1,59 @@
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 +Calling an action goes like this:
20 +
21 +{{code}}
22 +
23 +Application.dispatchRequest ->
24 +ERXRouteRequestHandler.handleRequest ->
25 +ERXRouteRequestHandler._handleRequest ->
26 +RestEntitiesController(ERXRouteController).performActionNamed ->
27 +RestEntitiesController(ERXRouteController).performRouteActionNamed -> RestEntitiesController(ERXRouteController).performActionWithArguments(Method, Object...) ->
28 +Method.invoke -> ...
29 +RestEntitiesController.indexAction()
30 +
31 +{{/code}}
32 +
33 +ERXRestUtils
34 +
35 +request > route
36 +
37 +{{code}}
38 +
39 +/**
40 + * A NameFormat that behaves like Rails -- plural entities, plural routes, lowercase underscore names
41 + * (names_like_this).
42 + */
43 + public static NameFormat RAILS = new NameFormat(true, true, NameFormat.Case.LowercaseUnderscore);
44 +
45 + /**
46 + * A NameFormat that behaves like WO -- singular entities, singular routes, camel names (NamesLikeThis).
47 + */
48 + public static NameFormat WO = new NameFormat(false, false, NameFormat.Case.CamelCase);
49 +
50 + /**
51 + * A NameFormat that behaves like WO -- singular entities, singular routes, lowercase camel names (namesLikeThis).
52 + */
53 + public static NameFormat WO_LOWER = new NameFormat(false, false, NameFormat.Case.LowerCamelCase);
54 +
55 +{{/code}}
56 +
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)
... ... @@ -46,6 +46,7 @@
46 46  ** er.rest.timestampFormat.secondary
47 47  ** er.rest.timestampFormatter
48 48  ** er.rest.rfcDateFormat
105 +** er.rest.jodaTime
49 49  ** ERXRest.transactionsEnabled (default 'false') ERXRestTransactionRequestAdaptor
50 50  ** ERXRest.maxEventsPerTransaction (default '50') ERXRestTransactionRequestAdaptor
51 51  ** ERXRest.accessControlAllowRequestHeaders (ERXRouteController)
... ... @@ -56,7 +56,7 @@
56 56  ** ERXRest.accessControlMaxAge (ERXRouteController)
57 57  *** (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.
58 58  ** ERXRest.accessControlAllowOrigin (ERXRouteController)
59 -*** Set the value to '**' to enable all origins. See https:~/~/developer.mozilla.org/En/HTTP_access_control#Access-Control-Allow-Origin**
116 +*** Set the value to '**' to enable all origins. See [[https://developer.mozilla.org/En/HTTP_access_control#Access-Control-Allow-Origin]]**
60 60  * JSON Schema
61 61  ** {{code}}
62 62  /something?schema=true
... ... @@ -70,31 +70,6 @@
70 70  }
71 71  {{/code}}
72 72  
73 -Same Origin policy
74 -Transactions
75 -HTML vs other formats
76 -Response representation
77 -Missing route
78 -Missing object
79 -POJO objects
80 -Headers
81 -Caching
82 -Adding new format
83 -Security
84 -strictMode
85 -Workflow
86 -Query arguments and RXRestFetchSpecification
87 -ERXRestNameRegistry
88 -MapClassDescription / NSDictionaryClassDescription
89 -
90 -ERXRestUtils
91 -Properties
92 -er.rest.dateFormat
93 -er.rest.timestampFormat
94 -er.rest.rfcDateFormat
95 -
96 -request > route
97 -
98 98  Application(ERXApplication).dispatchRequest(WORequest) line: 2051
99 99  ERXRouteRequestHandler(WOActionRequestHandler).//handleRequest(WORequest) line: 221
100 100  ERXRouteRequestHandler.getRequestHandlerPathForRequest(WORequest) line: 782//
... ... @@ -126,13 +126,3 @@
126 126  | ERXRest.strictMode | ERXRest.strictMode
127 127  \\          |
128 128  ERXRouteController
129 -
130 -Properties
131 -
132 -ERXRest.accessControlAllowRequestHeaders
133 -ERXRest.accessControlAllowRequestMethods
134 -ERXRest.defaultFormat
135 -ERXRest.strictMode
136 -ERXRest.allowWindowNameCrossDomainTransport
137 -ERXRest.accessControlMaxAge
138 -ERXRest.accessControlAllowOrigin