实例介绍
【实例截图】
【核心代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 | Table of Contents Preface 1. Getting Started 1.1. Creating a New Project from Maven Archetype 1.2. Exploring the Newly Created Project 1.3. Running the Project 1.4. Creating a JavaEE Web Application 1.5. Creating a Web Application that can be deployed on Heroku 1.5.1. Deploy it on Heroku 1.6. Exploring Other Jersey Examples 2. Modules and dependencies 2.1. Java SE Compatibility 2.2. Introduction to Jersey dependencies 2.3. Common Jersey Use Cases 2.3.1. Servlet based application on Glassfish 2.3.2. Servlet based server-side application 2.3.3. Client application on JDK 2.3.4. Server-side application on supported containers 2.4. List of modules 3. JAX-RS Application, Resources and Sub-Resources 3.1. Root Resource Classes 3.1.1. @Path 3.1.2. @GET, @PUT, @POST, @DELETE, ... (HTTP Methods) 3.1.3. @Produces 3.1.4. @Consumes 3.2. Parameter Annotations (@*Param) 3.3. Sub-resources 3.4. Life-cycle of Root Resource Classes 3.5. Rules of Injection 3.6. Use of @Context 3.7. Programmatic resource model 4. Application Deployment and Runtime Environments 4.1. Introduction 4.2. JAX-RS Application Model 4.3. Auto-Discoverable Features 4.3.1. Configuring Feature Auto-discovery Mechanism 4.4. Configuring the Classpath Scanning 4.5. Java SE Deployment Environments 4.5.1. HTTP servers 4.6. Creating programmatic JAX-RS endpoint 4.7. Servlet-based Deployment 4.7.1. Servlet 2.x Container 4.7.2. Servlet 3.x Container 4.7.3. Jersey Servlet container modules 4.8. Java EE Platform 4.8.1. Managed Beans 4.8.2. Context and Dependency Injection (CDI) 4.8.3. Enterprise Java Beans (EJB) 4.8.4. Java EE Servers 4.9. OSGi 4.9.1. Enabling the OSGi shell in Glassfish 4.9.2. WAB Example 4.9.3. HTTP Service Example 4.10. Other Environments 4.10.1. Oracle Java Cloud Service 5. Client API 5.1. Uniform Interface Constraint 5.2. Ease of use and reusing JAX-RS artifacts 5.3. Overview of the Client API 5.3.1. Getting started with the client API 5.3.2. Creating and configuring a Client instance 5.3.3. Targeting a web resource 5.3.4. Identifying resource on WebTarget 5.3.5. Invoking a HTTP request 5.3.6. Example summary 5.3.7. Setting ExecutorService and ScheduledExecutorService 2020/1/7 Jersey 2.29.1 User Guide 5.4. Java instances and types for representations 5.4.1. Adding support for new representations 5.5. Client Transport Connectors 5.6. Using client request and response filters 5.7. Closing connections 5.8. Injections into client providers 5.9. Securing a Client 5.9.1. Http Authentication Support 6. Reactive JAX-RS Client API 6.1. Motivation for Reactive Client Extension 6.2. Usage and Extension Modules 6.3. Supported Reactive Libraries 6.3.1. RxJava (Observable) 6.3.2. RxJava (Flowable) 6.3.3. Guava (ListenableFuture and Futures) 6.4. Implementing Support for Custom Reactive Libraries (SPI) 7. Representations and Responses 7.1. Representations and Java Types 7.2. Building Responses 7.3. WebApplicationException and Mapping Exceptions to Responses 7.4. Conditional GETs and Returning 304 (Not Modified) Responses 8. JAX-RS Entity Providers 8.1. Introduction 8.2. How to Write Custom Entity Providers 8.2.1. MessageBodyWriter 8.2.2. MessageBodyReader 8.3. Entity Provider Selection 8.4. Jersey MessageBodyWorkers API 8.5. Default Jersey Entity Providers 9. Support for Common Media Type Representations 9.1. JSON 9.1.1. Approaches to JSON Support 9.1.2. MOXy 9.1.3. Java API for JSON Processing (JSON-P) 9.1.4. Jackson (1.x and 2.x) 9.1.5. Jettison 9.1.6. @JSONP - JSON with Padding Support 9.2. XML 9.2.1. Low level XML support 9.2.2. Getting started with JAXB 9.2.3. POJOs 9.2.4. Using custom JAXBContext 9.2.5. MOXy 9.3. Multipart 9.3.1. Overview 9.3.2. Client 9.3.3. Server 10. Filters and Interceptors 10.1. Introduction 10.2. Filters 10.2.1. Server filters 10.2.2. Client filters 10.3. Interceptors 10.4. Filter and interceptor execution order 10.5. Name binding 10.6. Dynamic binding 10.7. Priorities 11. Asynchronous Services and Clients 11.1. Asynchronous Server API 11.1.1. Asynchronous Server-side Callbacks 11.1.2. Chunked Output 11.2. Client API 11.2.1. Asynchronous Client Callbacks 11.2.2. Chunked input 12. URIs and Links 12.1. Building URIs 12.2. Resolve and Relativize 12.3. Link 13. Declarative Hyperlinking 13.1. Dependency 13.2. Links in Representations 2020/1/7 Jersey 2.29.1 User Guide 13.3. List of Link Injection 13.4. Links from Resources 13.5. Binding Template Parameters 13.6. Conditional Link Injection 13.7. Link Headers 13.8. Prevent Recursive Injection 13.9. Meta-annotation support 13.10. Configure and register 14. Programmatic API for Building Resources 14.1. Introduction 14.2. Programmatic Hello World example 14.2.1. Deployment of programmatic resources 14.3. Additional examples 14.4. Model processors 15. Server-Sent Events (SSE) Support 15.1. What are Server-Sent Events 15.2. When to use Server-Sent Events 15.3. Server-Sent Events API 15.4. Implementing SSE support in a JAX-RS resource (with JAX-RS SSE API) 15.4.1. Simple SSE resource method 15.4.2. Broadcasting with Jersey SSE 15.5. Consuming SSE events within Jersey clients 15.5.1. SseEventSource reconnect support 15.6. Jersey-specific Server-Sent Events API 15.6.1. Implementing SSE support in a JAX-RS resource 15.6.2. Consuming SSE events with Jersey clients 16. Security 16.1. Securing server 16.1.1. SecurityContext 16.1.2. Authorization - securing resources 16.2. Client Security 16.3. OAuth Support 16.3.1. OAuth 1 16.3.2. OAuth 2 Support 17. WADL Support 17.1. WADL introduction 17.2. Configuration 17.3. Extended WADL support 18. Bean Validation Support 18.1. Bean Validation Dependencies 18.2. Enabling Bean Validation in Jersey 18.3. Configuring Bean Validation Support 18.4. Validating JAX-RS resources and methods 18.4.1. Constraint Annotations 18.4.2. Annotation constraints and Validators 18.4.3. Entity Validation 18.4.4. Annotation Inheritance 18.5. @ValidateOnExecution 18.6. Injecting 18.7. Error Reporting 18.7.1. ValidationError 18.8. Example 19. Entity Data Filtering 19.1. Enabling and configuring Entity Filtering in your application 19.2. Components used to describe Entity Filtering concepts 19.3. Using custom annotations to filter entities 19.3.1. Server-side Entity Filtering 19.3.2. Client-side Entity Filtering 19.4. Role-based Entity Filtering using (javax.annotation.security) annotations 19.5. Entity Filtering based on dynamic and configurable query parameters 19.6. Defining custom handling for entity-filtering annotations 19.7. Supporting Entity Data Filtering in custom entity providers or frameworks 19.8. Modules with support for Entity Data Filtering 19.9. Examples 20. MVC Templates 20.1. Viewable 20.2. @Template 20.2.1. Annotating Resource methods 20.2.2. Annotating Resource classes 20.3. Absolute vs. Relative template reference 20.3.1. Relative template reference 2020/1/7 Jersey 2.29.1 User Guide 20.3.2. Absolute template reference 20.4. Handling errors with MVC 20.4.1. MVC & Bean Validation 20.5. Registration and Configuration 20.6. Supported templating engines 20.6.1. Mustache 20.6.2. Freemarker 20.6.3. JSP 20.7. Writing Custom Templating Engines 20.8. Other Examples 21. Logging 21.1. Logging traffic 21.1.1. Introduction 21.1.2. Configuration and registering 22. Monitoring and Diagnostics 22.1. Monitoring Jersey Applications 22.1.1. Introduction 22.1.2. Event Listeners 22.2. Tracing Support 22.2.1. Configuration options 22.2.2. Tracing Log 22.2.3. Configuring tracing support via HTTP request headers 22.2.4. Format of the HTTP response headers 22.2.5. Tracing Examples 23. Custom Injection and Lifecycle Management 23.1. Implementing Custom Injection Provider 23.2. Defining Custom Injection Annotation 23.3. Custom Life Cycle Management 24. Jersey CDI Container Agnostic Support 24.1. Introduction 24.2. Containers Known to Work With Jersey CDI Support 24.3. Request Scope Binding 24.4. Jersey Weld SE Support 25. Spring DI 25.1. Dependencies 25.2. Registration and Configuration 25.3. Example 26. Jersey Test Framework 26.1. Basics 26.2. Supported Containers 26.3. Running TestNG Tests 26.4. Advanced features 26.4.1. JerseyTest Features 26.4.2. External container 26.4.3. Test Client configuration 26.4.4. Accessing the logged test records programmatically 26.5. Parallel Testing with Jersey Test Framework 27. Building and Testing Jersey 27.1. Checking Out the Source 27.2. Building the Source 27.3. Testing 27.4. Using NetBeans 28. Migration Guide 28.1. Migrating from Jersey 2.23 to 2.27 28.1.1. Breaking Changes 28.1.2. Breaking Changes - Injection Manager 28.1.3. Removed deprecated APIs 28.2. Migrating from Jersey 2.22.1 to 2.23 28.2.1. Release 2.23 Highlights 28.2.2. Deprecated APIs 28.3. Breaking Changes 28.4. Migrating from Jersey 2.22 to 2.22.1 28.4.1. Breaking Changes 28.5. Migrating from Jersey 2.21 to 2.22 28.5.1. Breaking Changes 28.6. Migrating from Jersey 2.19 to 2.20 28.6.1. Breaking Changes 28.7. Migrating from Jersey 2.18 to 2.19 28.7.1. Breaking Changes 28.8. Migrating from Jersey 2.17 to 2.18 2020/1/7 Jersey 2.29.1 User Guide 28.8.1. Release 2.18 Highlights 28.8.2. Removed deprecated APIs 28.8.3. Breaking Changes 28.9. Migrating from Jersey 2.16 to 2.17 28.9.1. Release 2.17 Highlights 28.10. Migrating from Jersey 2.15 to 2.16 28.10.1. Release 2.16 Highlights 28.10.2. Deprecated APIs 28.10.3. Breaking Changes 28.11. Migrating to 2.15 28.11.1. Release 2.15 Highlights 28.11.2. Breaking Changes 28.12. Migrating from Jersey 2.11 to 2.12 28.12.1. Release 2.12 Highlights 28.12.2. Breaking Changes 28.13. Migrating from Jersey 2.10 to 2.11 28.13.1. Release 2.11 Highlights 28.14. Migrating from Jersey 2.9 to 2.10 28.14.1. Removed deprecated APIs 28.15. Migrating from Jersey 2.8 to 2.9 28.15.1. Release 2.9 Highlights 28.15.2. Changes 28.16. Migrating from Jersey 2.7 to 2.8 28.16.1. Changes 28.17. Migrating from Jersey 2.6 to 2.7 28.17.1. Changes 28.18. Migrating from Jersey 2.5.1 to 2.6 28.18.1. Guava and ASM have been embedded 28.18.2. Deprecated APIs 28.18.3. Removed deprecated APIs 28.19. Migrating from Jersey 2.5 to 2.5.1 28.20. Migrating from Jersey 2.4.1 to 2.5 28.20.1. Client-side API and SPI changes 28.20.2. Other changes 28.21. Migrating from Jersey 2.4 to 2.4.1 28.22. Migrating from Jersey 2.3 to 2.4 28.23. Migrating from Jersey 2.0, 2.1 or 2.2 to 2.3 28.24. Migrating from Jersey 1.x to 2.0 28.24.1. Server API 28.24.2. Migrating Jersey Client API 28.24.3. JSON support changes A. Configuration Properties A.1. Common (client/server) configuration properties A.2. Server configuration properties A.3. Servlet configuration properties A.4. Client configuration properties List of Figures 6.1. Travel Agency Orchestration Service 6.2. Time consumed to create a response for the client – synchronous way 6.3. Time consumed to create a response for the client – asynchronous way List of Tables 2.1. Jersey Core 2.2. Jersey Containers 2.3. Jersey Connectors 2.4. Jersey Media 2.5. Jersey Extensions 2.6. Jersey Test Framework 2.7. Jersey Test Framework Providers 2.8. Jersey Glassfish Bundles 2.9. Security 2.10. Jersey Examples 3.1. Resource scopes 3.2. Overview of injection types 4.1. Servlet 3 Pluggability Overview 5.1. List of Jersey Connectors 9.1. Default property values for MOXy MessageBodyReader<T> / MessageBodyWriter<T> 28.1. List of changed configuration properties: 28.2. Mapping of Jersey 1.x to JAX-RS 2.0 client classes 28.3. JSON approaches and usage in Jersey 1 vs Jersey 2 A.1. List of common configuration properties 2020/1/7 Jersey 2.29.1 User Guide A.2. List of server configuration properties A.3. List of servlet configuration properties A.4. List of client configuration properties List of Examples 3.1. Simple hello world root resource class 3.2. Specifying URI path parameter 3.3. PUT method 3.4. Specifying output MIME type 3.5. Using multiple output MIME types 3.6. Server-side content negotiation 3.7. Specifying input MIME type 3.8. Query parameters 3.9. Custom Java type for consuming request parameters 3.10. Processing POSTed HTML form 3.11. Obtaining general map of URI path and/or query parameters 3.12. Obtaining general map of header parameters 3.13. Obtaining general map of form parameters 3.14. Example of the bean which will be used as @BeanParam 3.15. Injection of MyBeanParam as a method parameter: 3.16. Injection of more beans into one resource methods: 3.17. Sub-resource methods 3.18. Sub-resource locators 3.19. Sub-resource locators with empty path 3.20. Sub-resource locators returning sub-type 3.21. Sub-resource locators created from classes 3.22. Sub-resource locators returning resource model 3.23. Injection 3.24. Wrong injection into a singleton scope 3.25. Injection of proxies into singleton 3.26. Example of possible injections 4.1. Deployment agnostic application model 4.2. Reusing Jersey implementation in your custom application model 4.3. Registering SPI implementations using ResourceConfig 4.4. Registering SPI implementations using ResourceConfig subclass 4.5. Using Jersey with JDK HTTP Server 4.6. Using Jersey with Grizzly HTTP Server 4.7. Using Jersey with the Simple framework 4.8. Using Jersey with Jetty HTTP Server 4.9. Using Jersey with Netty HTTP Server 4.10. Hooking up Jersey as a Servlet 4.11. Hooking up Jersey as a Servlet Filter 4.12. Configuring Jersey container Servlet or Filter to use custom Application subclass 4.13. Configuring Jersey container Servlet or Filter to use package scanning 4.14. Configuring Jersey container Servlet or Filter to use a list of classes 4.15. Deployment of a JAX-RS application using @ApplicationPath with Servlet 3.0 4.16. Configuration of maven-war-plugin to ignore missing web.xml 4.17. Deployment of a JAX-RS application using web.xml with Servlet 3.0 4.18. web.xml of a JAX-RS application without an Application subclass 4.19. 4.20. 5.1. POST request with form parameters 5.2. Using JAX-RS Client API 5.3. Using JAX-RS Client API fluently 5.4. Setting JAX-RS Client ExecutorService 5.5. Sending restricted headers with HttpUrlConnector 5.6. Closing connections 5.7. ServiceLocatorClientProvider example 6.1. Excerpt from a synchronous approach while implementing the orchestration layer 6.2. Excerpt from an asynchronous approach while implementing the orchestration layer 6.3. Excerpt from a reactive approach while implementing the orchestration layer 6.4. Synchronous invocation of HTTP requests 6.5. Asynchronous invocation of HTTP requests 6.6. Reactive invocation of HTTP requests 6.7. Creating JAX-RS Client with RxJava reactive extension 6.8. Obtaining Observable<Response> from Jersey/RxJava Client 6.9. Creating JAX-RS Client with RxJava2 reactive extension 6.10. Obtaining Flowable<Response> from Jersey/RxJava Client 6.11. Creating Jersey/Guava Client 6.12. Obtaining ListenableFuture<Response> from Jersey/Guava Client 6.13. Extending RxIvoker 6.14. Extending RxInvokerProvider 7.1. Using File with a specific media type to produce a response 7.2. Returning 201 status code and adding Location header in response to POST request 7.3. Adding an entity body to a custom response 7.4. Throwing exceptions to control response 7.5. Application specific exception implementation 7.6. Mapping generic exceptions to responses 2020/1/7 Jersey 2.29.1 User Guide 7.7. Conditional GET support 8.1. Example resource class 8.2. MyBean entity class 8.3. MessageBodyWriter example 8.4. Example of assignment of annotations to a response entity 8.5. Client code testing MyBeanMessageBodyWriter 8.6. Result of MyBeanMessageBodyWriter test 8.7. MessageBodyReader example 8.8. Testing MyBeanMessageBodyReader 8.9. Result of testing MyBeanMessageBodyReader 8.10. MessageBodyReader registered on a JAX-RS client 8.11. Result of client code execution 8.12. Usage of MessageBodyWorkers interface 9.1. Simple JAXB bean implementation 9.2. JAXB bean used to generate JSON representation 9.3. Tweaking JSON format using JAXB 9.4. JAXB bean creation 9.5. Constructing a JsonObject (JSON-Processing) 9.6. Constructing a JSONObject (Jettison) 9.7. MoxyJsonConfig - Setting properties. 9.8. Creating ContextResolver<MoxyJsonConfig> 9.9. Setting properties for MOXy providers into Configurable 9.10. Building client with MOXy JSON feature enabled. 9.11. Creating JAX-RS application with MOXy JSON feature enabled. 9.12. Building client with JSON-Processing JSON feature enabled. 9.13. Creating JAX-RS application with JSON-Processing JSON feature enabled. 9.14. ContextResolver<ObjectMapper> 9.15. Building client with Jackson JSON feature enabled. 9.16. Creating JAX-RS application with Jackson JSON feature enabled. 9.17. JAXB beans for JSON supported notations description, simple address bean 9.18. JAXB beans for JSON supported notations description, contact bean 9.19. JAXB beans for JSON supported notations description, initialization 9.20. XML namespace to JSON mapping configuration for Jettison based mapped notation 9.21. JSON expression with XML namespaces mapped into JSON 9.22. JSON Array configuration for Jettison based mapped notation 9.23. JSON expression with JSON arrays explicitly configured via Jersey 9.24. JSON expression produced using badgerfish notation 9.25. ContextResolver<ObjectMapper> 9.26. Building client with Jettison JSON feature enabled. 9.27. Creating JAX-RS application with Jettison JSON feature enabled. 9.28. Simplest case of using @JSONP 9.29. JaxbBean for @JSONP example 9.30. Example of @JSONP with configured parameters. 9.31. Low level XML test - methods added to HelloWorldResource.java 9.32. Planet class 9.33. Resource class 9.34. Method for consuming Planet 9.35. Resource class - JAXBElement 9.36. Client side - JAXBElement 9.37. PlanetJAXBContextProvider 9.38. Using Provider with JAX-RS client 9.39. Add jersey-media-moxy dependency. 9.40. Register the MoxyXmlFeature class. 9.41. Configure and register an MoxyXmlFeature instance. 9.42. Building client with MultiPart feature enabled. 9.43. Creating JAX-RS application with MultiPart feature enabled. 9.44. MultiPart entity 9.45. MultiPart entity in HTTP message. 9.46. FormDataMultiPart entity 9.47. FormDataMultiPart entity in HTTP message. 9.48. Multipart - sending files. 9.49. Resource method using MultiPart as input parameter / return value. 9.50. Use of @FormDataParam annotation 10.1. Container response filter 10.2. Container request filter 10.3. Pre-matching request filter 10.4. Client request filter 10.5. GZIP writer interceptor 10.6. GZIP reader interceptor 10.7. @NameBinding example 10.8. Dynamic binding example 10.9. Priorities example 11.1. Simple async resource 11.2. Simple async method with timeout 11.3. CompletionCallback example 11.4. ChunkedOutput example 11.5. Simple client async invocation 11.6. Simple client fluent async invocation 2020/1/7 Jersey 2.29.1 User Guide 11.7. Client async callback 11.8. Client async callback for specific entity 11.9. ChunkedInput example 12.1. URI building 12.2. Building URIs using query parameters 13.1. Creating JAX-RS application with Declarative Linking feature enabled. 14.1. A standard resource class 14.2. A programmatic resource 14.3. A programmatic resource 14.4. A programmatic resource 14.5. A programmatic resource 14.6. A programmatic resource 15.1. Adding the SSE dependency 15.2. Simple SSE resource method 15.3. Broadcasting SSE messages (with JAX-RS 2.1 API) 15.4. Consuming SSE events with SseEventSource 15.5. SseEventSource subscribe() methods 15.6. Add jersey-media-sse dependency. 15.7. Simple SSE resource method 15.8. Broadcasting SSE messages 15.9. Registering EventListener with EventSource 15.10. Overriding EventSource.onEvent(InboundEvent) method 16.1. Using SecurityContext for a Resource Selection 16.2. Injecting SecurityContext into a singleton resource 16.3. Securing resources using web.xml 16.4. Registering RolesAllowedDynamicFeature using ResourceConfig 16.5. Registering RolesAllowedDynamicFeature by extending ResourceConfig 16.6. Applying javax.annotation.security to JAX-RS resource methods. 16.7. Build the authorization flow utility 16.8. Perform the OAuth Authorization Flow 16.9. Authenticated requests 16.10. Build feature from Access Token 16.11. Specifying Access Token on a Request. 16.12. Creating Public/Private RSA-SHA1 keys 16.13. Building OAuth 2 Authorization Flow. 17.1. A simple WADL example - JAX-RS resource definition 17.2. A simple WADL example - WADL content 17.3. OPTIONS method returning WADL 17.4. More complex WADL example - JAX-RS resource definition 17.5. More complex WADL example - WADL content 18.1. Configuring Jersey specific properties for Bean Validation. 18.2. Using ValidationConfig to configure Validator. 18.3. Constraint annotations on input parameters 18.4. Constraint annotations on fields 18.5. Constraint annotations on class 18.6. Definition of a constraint annotation 18.7. Validator implementation. 18.8. Entity validation 18.9. Entity validation 2 18.10. Response entity validation 18.11. Validate getter on execution 18.12. Injecting UriInfo into a ConstraintValidator 18.13. Support for injecting Jersey's resources/providers via ConstraintValidatorFactory. 18.14. ValidationError to text/plain 18.15. ValidationError to text/html 18.16. ValidationError to application/xml 18.17. ValidationError to application/json 19.1. Registering and configuring entity-filtering feature on server. 19.2. Registering and configuring entity-filtering feature with security annotations on server. 19.3. Registering and configuring entity-filtering feature based on dynamic and configurable query parameters. 19.4. Registering and configuring entity-filtering feature on client. 19.5. Project 19.6. User 19.7. Task 19.8. ProjectsResource 19.9. ProjectDetailedView 19.10. Annotated Project 19.11. Annotated User 19.12. Annotated Task 19.13. ProjectsResource - Response entity-filtering annotations 19.14. ProjectsResource - Entity-filtering annotations on methods 19.15. Client - Request entity-filtering annotations 19.16. Client - Request entity-filtering annotations 19.17. Sever - Query Parameter driven entity-filtering 19.18. 19.19. Entity-filtering annotation with custom meaning 19.20. Entity Data Filtering support in MOXy JSON binding provider 20.1. Using Viewable in a resource class 2020/1/7 Jersey 2.29.1 User Guide 20.2. Using @Template on a resource method 20.3. Using @Template on a resource class 20.4. Using absolute path to template in Viewable 20.5. Using @ErrorTemplate on a resource method 20.6. Using @ErrorTemplate with Bean Validation 20.7. Iterating through ValidationError in JSP 20.8. Registering MvcFeature 20.9. Registering FreemarkerMvcFeature 20.10. Setting MvcFeature.TEMPLATE_BASE_PATH value in ResourceConfig 20.11. Setting FreemarkerMvcProperties.TEMPLATE_BASE_PATH value in web.xml 20.12. Including JSP page into JSP page 20.13. Custom TemplateProcessor 20.14. Registering custom TemplateProcessor 21.1. Logging on the client side 21.2. Register LoggingFeature via constructor 21.3. Register LoggingFeature class 22.1. Application event listener 22.2. Request event listener 22.3. Event listener test resource 22.4. Injecting MonitoringStatistics 22.5. Summary level messages 22.6. On demand request, snippet of MVC JSP forwarding 24.1. Bootstrapping Jersey application with Weld support on Grizzly 28.1. Jersey 1 reloader implementation 28.2. Jersey 1 reloader registration 28.3. Jersey 2 reloader implementation 28.4. Jersey 2 reloader registration 28.5. Initializing JAXB-based support with MOXy |
标签: User Guide GUIDE User IDE GUI
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论