<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 使用 Hibernate 驗證器供應器進行 RESTEasy Bean 驗證 > 原文: [https://howtodoinjava.com/resteasy/resteasy-bean-validation-using-hibernate-validator-provider/](https://howtodoinjava.com/resteasy/resteasy-bean-validation-using-hibernate-validator-provider/) Bean 驗證 API([**JSR-303**](https://jcp.org/en/jsr/detail?id=303 "jsr-303"))基于注解定義了用于 bean 驗證的元數據模型和 API。 該功能是通過`resteasy-hibernatevalidator-provider`組件實現的。 為了集成,我們需要將`resteasy-hibernatevalidator-provider.jar`和`hibernate-validator.jar`文件添加到類路徑。 如果您使用的是 maven,則只需添加以下依賴項。 隨身更改 RESTEasy 的版本號。 ```java <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-hibernatevalidator-provider</artifactId> <version>2.3.1.GA</version> </dependency> ``` ## 步驟 1)在 API 參數中添加特定于驗證的注解 您可以使用各種注解來驗證請求參數和表單輸入。 例如,我使用了[**`@NotNull`**](https://docs.oracle.com/javaee/6/api/javax/validation/constraints/NotNull.html "NotNull annotation")和[**`@Size`**](https://docs.oracle.com/javaee/6/api/javax/validation/constraints/Size.html "Size annotation")注解。 閱讀鏈接中的所有[**可用注解**](https://docs.oracle.com/javaee/6/api/javax/validation/constraints/package-summary.html "all validation annotations")。 別忘了在方法 API 上添加`@ValidateRequest`注解。`@ValidateRequest`啟用對其應用方法的驗證。 ```java package com.howtodoinjava.rest; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.ws.rs.FormParam; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.core.Response; import org.jboss.resteasy.spi.validation.ValidateRequest; @Path("/rest") public class UserService { @Path("/users") @POST @ValidateRequest public Response addUser ( @NotNull @Size(min=1,max=50) @FormParam("firstName") String firstName , @Size(max=50) @FormParam("lastName") String lastName ) { return Response.ok().entity("User "" + firstName + " " + lastName + "" added through JAX-RS JavaScript API").build(); } } ``` ## 步驟 2)添加驗證異常處理器 好吧,這很重要,因為 **Hiberate 驗證器插件沒有任何用于異常處理的功能,因此您需要嵌入自己的**。 RESTEasy 中的異常處理器通過`ExceptionMapper`類使用。 ```java package com.howtodoinjava.exception; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; import org.hibernate.validator.method.MethodConstraintViolationException; @Provider public class ValidationExceptionHandler implements ExceptionMapper<MethodConstraintViolationException> { @Override public Response toResponse(MethodConstraintViolationException exception) { return Response.status(Status.BAD_REQUEST).entity("Fill all fields").build(); } } ``` ## 步驟 3)構建客戶端代碼并測試應用 我寫了一個普通的 HTML 表單,它將使用表單提交為`firstName`和`lastName`參數發送兩個參數。 參數驗證自動執行,如果驗證失敗,則調用異常處理器以返回正確的狀態代碼。 ```java <html> <body> <h1>RESTEasy Hibernate Validator Plugin</h1> <div id="error"></div> <form method="post" action="./rest/users"> <p>First Name : <input type="text" name="firstName" id="firstName"/></p> <p>LastName : <input type="text" name="lastName" id="lastName"/></p> <input type="submit" value="Add User" /> </form> Demo by : <b>//howtodoinjava.com</b> </body> </html> ``` 您可以在瀏覽器窗口中測試上述應用,也可以使用一些 REST 測試工具,例如 [**RESTClient firefox 插件**](https://addons.mozilla.org/en-US/firefox/addon/restclient/ "restclient")。 ![RESTEasy bean validation using hibernate validator](https://img.kancloud.cn/94/50/94509056fc579422aa73f67baeb49457_944x374.png) 使用 Hibernate 驗證器的 RESTEasy bean 驗證 要下載此演示的源代碼,請點擊以下鏈接。 **祝您學習愉快!**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看