I am new to web services. I am building an android app and I'm trying to send a post request to the web service but I'm not sure what the correct format is.
Can I send it in XML type, do I have to modify the POST method in order to access it from my app?
This is the POST method in the REST:
@POST @Override @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON,MediaType.TEXT_XML}) public void create(Users entity) { super.create(entity); } This is the class that corresponds to our table. I am using Oracle 11g database, Glassfish server 4.1.1 and Netbeans. I am trying to call PUT from my android application. Can someone suggest a way to do that?
import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; @Entity @Table(name = "USERS") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Users.findAll", query = "SELECT u FROM Users u"), @NamedQuery(name = "Users.findByUserId", query = "SELECT u FROM Users u WHERE u.userId = :userId"), @NamedQuery(name = "Users.findByUsername", query = "SELECT u FROM Users u WHERE u.username = :username"), @NamedQuery(name = "Users.findByPassword", query = "SELECT u FROM Users u WHERE u.password = :password"), @NamedQuery(name = "Users.findByEmail", query = "SELECT u FROM Users u WHERE u.email = :email")}) public class Users implements Serializable { private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @NotNull @Column(name = "USER_ID") private Short userId; @Basic(optional = false) @NotNull @Size(min = 1, max = 30) @Column(name = "USERNAME") private String username; @Basic(optional = false) @NotNull @Size(min = 1, max = 20) @Column(name = "PASSWORD") private String password; @Basic(optional = false) @NotNull @Size(min = 1, max = 40) @Column(name = "EMAIL") private String email; @OneToOne(cascade = CascadeType.ALL, mappedBy = "users") private Profiles profiles; public Users() { } public Users(Short userId) { this.userId = userId; } public Users(Short userId, String username, String password, String email) { this.userId = userId; this.username = username; this.password = password; this.email = email; } public Short getUserId() { return userId; } public void setUserId(Short userId) { this.userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Profiles getProfiles() { return profiles; } public void setProfiles(Profiles profiles) { this.profiles = profiles; } @Override public int hashCode() { int hash = 0; hash += (userId != null ? userId.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Users)) { return false; } Users other = (Users) object; if ((this.userId == null && other.userId != null) || (this.userId != null && !this.userId.equals(other.userId))) { return false; } return true; } @Override public String toString() { return "medicalplanner.Users[ userId=" + userId + " ]"; } }
No comments:
Post a Comment