{"id":18695,"date":"2024-03-15T17:27:01","date_gmt":"2024-03-15T17:27:01","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/"},"modified":"2024-03-21T13:55:28","modified_gmt":"2024-03-21T13:55:28","slug":"how-to-use-validated-in-spring-boot","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/","title":{"rendered":"How to use @Validated in Spring Boot?"},"content":{"rendered":"<p>In Spring Boot, the @Validated annotation is used to validate the validity of method parameters. It can be applied to request handling methods in Controllers or methods in the Service layer.<\/p>\n<p>The steps for using the @Validated annotation are as follows:<\/p>\n<ol>\n<li>Add the spring-boot-starter-validation dependency to the pom.xml file to include dependencies.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>org.springframework.boot<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>spring-boot-starter-validation<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Add the @Validated annotation to Controller or Service methods.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@RestController<\/span>\r\n<span class=\"hljs-meta\">@Validated<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyController<\/span> {\r\n    <span class=\"hljs-meta\">@GetMapping(\"\/validate\")<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> String <span class=\"hljs-title function_\">validate<\/span><span class=\"hljs-params\">(<span class=\"hljs-meta\">@RequestParam(\"param1\")<\/span> <span class=\"hljs-meta\">@NotNull<\/span> String param1, \r\n                           <span class=\"hljs-meta\">@RequestParam(\"param2\")<\/span> <span class=\"hljs-meta\">@Min(18)<\/span> <span class=\"hljs-type\">int<\/span> param2)<\/span> {\r\n        <span class=\"hljs-comment\">\/\/ \u5904\u7406\u8bf7\u6c42<\/span>\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"ok\"<\/span>;\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the above example, @RequestParam(&#8220;param1&#8221;) @NotNull indicates that the param1 parameter cannot be null, and @RequestParam(&#8220;param2&#8221;) @Min(18) indicates that the minimum value for the param2 parameter is 18.<\/p>\n<ol>\n<li>Configure a handler for failed validation (optional): You can define a global handler to manage cases of validation failure, such as sending error messages to the client.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@ControllerAdvice<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">ValidationExceptionHandler<\/span> {\r\n    <span class=\"hljs-meta\">@ExceptionHandler(MethodArgumentNotValidException.class)<\/span>\r\n    <span class=\"hljs-meta\">@ResponseBody<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> ResponseEntity <span class=\"hljs-title function_\">handleValidationExceptions<\/span><span class=\"hljs-params\">(MethodArgumentNotValidException ex)<\/span> {\r\n        <span class=\"hljs-comment\">\/\/ \u5904\u7406\u9a8c\u8bc1\u5931\u8d25\u7684\u60c5\u51b5<\/span>\r\n        <span class=\"hljs-keyword\">return<\/span> ResponseEntity.status(HttpStatus.BAD_REQUEST).body(<span class=\"hljs-string\">\"Validation error\"<\/span>);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the given example, @ExceptionHandler(MethodArgumentNotValidException.class) indicates that when a validation failure occurs, the handleValidationExceptions() method is called to handle it.<\/p>\n<p>This way, you can use the @Validated annotation in Spring Boot to validate the validity of method parameters.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Spring Boot, the @Validated annotation is used to validate the validity of method parameters. It can be applied to request handling methods in Controllers or methods in the Service layer. The steps for using the @Validated annotation are as follows: Add the spring-boot-starter-validation dependency to the pom.xml file to include dependencies. &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt; &lt;artifactId&gt;spring-boot-starter-validation&lt;\/artifactId&gt; [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-18695","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to use @Validated in Spring Boot? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use @Validated in Spring Boot?\" \/>\n<meta property=\"og:description\" content=\"In Spring Boot, the @Validated annotation is used to validate the validity of method parameters. It can be applied to request handling methods in Controllers or methods in the Service layer. The steps for using the @Validated annotation are as follows: Add the spring-boot-starter-validation dependency to the pom.xml file to include dependencies. &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt; &lt;artifactId&gt;spring-boot-starter-validation&lt;\/artifactId&gt; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T17:27:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T13:55:28+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"How to use @Validated in Spring Boot?\",\"datePublished\":\"2024-03-15T17:27:01+00:00\",\"dateModified\":\"2024-03-21T13:55:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/\"},\"wordCount\":165,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/\",\"name\":\"How to use @Validated in Spring Boot? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T17:27:01+00:00\",\"dateModified\":\"2024-03-21T13:55:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use @Validated in Spring Boot?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to use @Validated in Spring Boot? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/","og_locale":"en_US","og_type":"article","og_title":"How to use @Validated in Spring Boot?","og_description":"In Spring Boot, the @Validated annotation is used to validate the validity of method parameters. It can be applied to request handling methods in Controllers or methods in the Service layer. The steps for using the @Validated annotation are as follows: Add the spring-boot-starter-validation dependency to the pom.xml file to include dependencies. &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt; &lt;artifactId&gt;spring-boot-starter-validation&lt;\/artifactId&gt; [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T17:27:01+00:00","article_modified_time":"2024-03-21T13:55:28+00:00","author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"How to use @Validated in Spring Boot?","datePublished":"2024-03-15T17:27:01+00:00","dateModified":"2024-03-21T13:55:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/"},"wordCount":165,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/","name":"How to use @Validated in Spring Boot? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T17:27:01+00:00","dateModified":"2024-03-21T13:55:28+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-validated-in-spring-boot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to use @Validated in Spring Boot?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=18695"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18695\/revisions"}],"predecessor-version":[{"id":52392,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18695\/revisions\/52392"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=18695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=18695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=18695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}