官术网_书友最值得收藏!

The router

JAX-RS is command-oriented. It means that a request must be bound to a Java method. To do so, the matching takes multiple parameters of the request into account:

  • The patch
  • The Accept header
  • The Content-Type header

Here is the simplified algorithm for routing:

  1. Find the class matching the request based on the path (this is a regex-like logic).
  2. From the class found in step 1, find the method matching the request based on the path. (This is close to step 1 but applied to methods with subresource handling.)
  3. From the methods found in step 2, find the one that will handle the request based on mime types (Accept/Content-Type headers). This level parses the media types to handle the quality of service options (q, qs, and so on) of the header.

This is not a complicated algorithm, but it is quite dynamic and depends on the incoming requests. So most of the time, it is done at runtime by the providers and can add a small overhead, which you can notice during benchmarks.

主站蜘蛛池模板: 怀柔区| 上林县| 疏附县| 衡阳县| 乐亭县| 嘉祥县| 富宁县| 门源| 河津市| 宁津县| 洱源县| 九龙城区| 彰武县| 松江区| 庆安县| 衡山县| 虞城县| 靖边县| 雷州市| 渑池县| 灵丘县| 九龙县| 漳浦县| 枣强县| 合阳县| 游戏| 汉源县| 砀山县| 临湘市| 沽源县| 阳江市| 卓资县| 大丰市| 攀枝花市| 滕州市| 墨竹工卡县| 宜君县| 卢湾区| 孟津县| 内江市| 宜川县|