java - How do I use Custom Validations in Jersey -


i want implement validation in jersey such if send duplicate value of username or email exists in database should throw error saying username/email exists.

how can acheive this?

i gone through jersey documentation

https://jersey.java.net/documentation/latest/bean-validation.html

https://github.com/jersey/jersey/tree/2.6/examples/bean-validation-webapp/src

but couldn't understood have follow make custom jersey validations.

suppose send json in body while creating user like:

 {        "name":"krdd",      "username":"khnfknf",      "password":"sfastet",      "email":"xyz@gmail.com",      "createdby":"xyz",      "modifiedby":"xyz",      "createdat":"",      "modifiedat":"",    } 

thanks in advance helping hands.

assuming have request instance of class:

public class userrequest {      // --> notice annotation here <--     @uniqueemail(message = "email registered")     private final string email;      public userrequest(string email) {         this.email = email;     }      public string getemail() {         return email;     } } 

you have add new annotation (and link validator class using @constraint):

@target({ elementtype.field, elementtype.annotation_type }) @retention(retentionpolicy.runtime) @constraint(validatedby = { uniqueemailvalidator.class }) @documented public @interface uniqueemail {     string message();      class<?>[] groups() default { };      class<? extends payload>[] payload() default { };  } 

then have implement validation itself:

public class uniqueemailvalidator implements constraintvalidator<uniqueemail, userrequest> {     @override     public void initialize(uniqueemail constraintannotation) {      }      @override     public boolean isvalid(userrequest value, constraintvalidatorcontext context) {         // call db , verify value.getemail() unique         return false;     } } 

and you're done. remember jersey using hk2 internally binding sort of dao validator instance can tricky if use spring or other di.


Comments

Popular posts from this blog

renaming files in a directory using python or R -

c# - ajax - How to receive data both html and json from server? -