02.Web Service - REST

 

REST

This is the GitHub URL of developed  project for rest API.

https://github.com/LahiruPriyankara/restOne-Jersey.git

 

Jersey


Rest කියන්නේ concept එකක් විතරයි.එක implement කරන්න spring හෝ jersey වගේ එකක් බාවිතා කරන්න ඔනී.ඒ දෙකේදීම ඒවාට අදාළ libraries සහ project structures, dependencies පාවිච්චි කරන්න ඕනේ.ඒවා අපිම හදන්නේ නෑ.මොකද එක ටිකක් tough වැඩක්.ඒ නිසා maven හෝ gradle වැනි technology එකක් බවිතා කරලා තමා Spring හෝ jersey projects හදන්නේ. Maven වලින් ඕනේ කරන මුලික libraries (libraries ලේසියෙන් add කරගන්න ද පුළුවන්) සහ project structure හදල දෙනවා (request එකක් යැවුවම response එවන්න ඕනේ.එක servlet හරහා තමා normal වෙන්නේ. එහිදී normal java class එකකට http java class implements  වෙලා තමා servlet හැදෙන්නේ.එත් මෙහිදී ඒවා පිටට පෙන්නේ නෑ.)

Project creation Steps,

 (GO TO window – prferences – maven – check as bellows-ok)



Maven jersy  project in eclipe to implement REST

Right click – Other – search maven project and select it – next – in the filter jersey and select  (jersey-quickstart-webapp) – group id and artifact id(project name)

Adding a server

Right click on the project – properties – target runtime – add a server 

V_10. MXL TO JSON data type

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-binding</artifactId>
</dependency>

------------------------------------------- End Point ---------------------------------------------------------

@Path("Company")
public class CompanyResource {
EmployeeRepository employeeRepository = new EmployeeRepository();
@PUT
@Path("department/updateDepartment")
@Consumes({MediaType.APPLICATION_XML , MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML , MediaType.APPLICATION_JSON})
public List<Department> updateDepartment(Department department) {
System.out.println("CompanyResource : updateDepartment(Department department)");
return departmentRepository.updateDepartment(department);
}
}

---------------------------------------  Repository |  With Hibernate --------------------------------------

public class Department Repository {
public static Session sessionBulder(){
Configuration con = new Configuration().configure().addAnnotatedClass(Department.class);
ServiceRegistry reg = new ServiceRegistryBuilder().applySettings(con.getProperties()).buildServiceRegistry();
SessionFactory sf = con.buildSessionFactory(reg);
return sf.openSession();
}
public static Session session = null;
public List<Department> updateDepartment(Department department){
session = DepartmentRepository.sessionBulder();
Transaction tx = session.beginTransaction();
try {
session.update(department);
tx.commit();
session.close();
} catch (Exception e) {
e.printStackTrace();
}
return getDepartments();
}
}

---------------------------------------  Repository |  With JDBC -------------------------------------------

public MyRepository(){
String url = "jdbc:mysql://localhost:3306/myDB";
String username = "root";
String password = "root";
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url,username,password);
} catch (Exception e) {
System.out.println(e);
}

}

public List<Department> updateDepartment(Department department){
List<Department> list = new ArrayList<>();
String sql = "select * from department";

try {
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
Department d = new Department();
d.setName(rs.getString(1));
d.setPoints(rs.getInt(2));
list.add(d);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}



Comments

Popular posts from this blog

09.Data Binding.

Database - Topics

02. Spring – Creating spring project clone it with GIT step by step.