These suffixes are not defined by OData v4.
Conformant clients MUST NOT issue requests with these suffixes.
Services may go beyond the specification and allow these suffixes to accommodate non-conformant clients, but these non-conformant clients will run into trouble if they talk to a standard v4 server.
I have a question regarding the use of primitive literals in URLs
In the OData 2 and 3 specs the definition of decimal and double literals define that the literal values must have a suffix of m and d respectively. As best as I can tell from those specs, the suffixes were required. However the sample
services on OData.org do not required the suffixes.
This was the ABNF from the v2 spec
decimalUriLiteral = decimalLiteral ("M"/"m")
decimalLiteral = sign 1*29DIGIT ["." 1*29DIGIT]
Next I look at the OData 4 spec and the ABNF for the decimal and double literals do not show the m or d suffixes at all yet the sample v4 services on
OData.org do allow the m and d suffixes for decimal and double literals.
Here is the ABNF from the v4 spec
decimalValue = [SIGN] 1*DIGIT ["." 1*DIGIT]
From this, I am inferring that the use of the literal suffixes is optional. Is that true? Is there somewhere in the OData v4 spec that defines the literal suffixes that are allowed?