URI suffix and Media type

Feedback


SuperMap iServer determines a media type through requesting the URI suffix. The default relations between them are shown as follows:

Table The relations between URI suffix and media type

URI suffix Media type
html    text/html
xml    application/xml
kml    application/kml
georss    application/georss
json    application/json
jsonp    application/jsonp
rjson    application/rjson
png    image/png
bmp    image/bmp
gif    image/gif
jpg    image/jpg
jpeg    image/jpeg
3D    application/realspace
javascript    application/javascript
ijs    application/ijs
flex    application/flex
flash3d    application/flash3d
ifx    application/ifx
silverlight    application/silverlight
isl    application/isl

supermapcloud

   application/supermapcloud

smc

   application/smc

tianditu

   application/tianditu

tdt

   application/tdt

By default, the server determines the media type according to the URI suffix. The form is like " application/suffix". For example, if the suffix is cjson, the server will match the suffix to the media type of "application/cjson" so as to select a corresponding encoder for processing. The return media type is the HTTP response of application/cjson.

When you extend a new encoder, a new media type should be corresponding to the URI suffix. You can configure it in the following position:

1,iserver-rest-appContext.xml

iserver-rest-appContext.xml is in %SuperMap iServer_HOME%/webapps/iserver/WEB-INF/iserver-rest-appContext.xml. You can configure the relations at the <entry/> node(s).

<!--  The relations between the type and the URI suffix.  --> 
<util:map id="MediaTypeMappingInfoBean">
        <!-- <entry key="xml" value="application/xml" /> -->
</util:map>

2. Jar:///META-INF/extensions/services/urlmapping/*.properties

The *.properties configuration file is in the Jar package. The content format is "* = *". The left side is URI suffix, and the right side is the media type. The configuration items are separated by by Enter.

Note: If you configure the relations at both two positions, the two are all valid. If the URI suffix (key value) repeats, the priority in iserver-rest-appContext.xml is highest.

 

For example, if you add a testurlmapping.properties file:

abc=application/xml

In Jar package, testurlmapping.properties is in test.jar:///META-INF/extensions/services/urlmapping/testurlmapping.properties, and test.jar is put into %SuperMap iServer Java_HOME%\webapps\iserver\WEB-INF\lib.

Start SuperMap iServer service, and open http://supermapiserver:8090/iserver/services/map-world/rest. The output format is "abc".

Click abc or type http://supermapiserver:8090/iserver/services/realspace-sample/rest/realspace.abc, the XML media type that corresponds to the abc suffix is shown in the web.