gpt4 book ai didi

java - 使用 GSON 和 Java 的完整 RESTFUL WebService

转载 作者:行者123 更新时间:2023-11-30 03:35:43 25 4
gpt4 key购买 nike

我创建了一个RESTFUL webservice,女巫返回一个json,但此时我只咨询并显示一个简单的 select * ,我需要创建一个完整的CRUD解决方案,如果有人有一些示例可以分享,我将不胜感激.

向大家致以最诚挚的问候

到目前为止我的代码是:

DAO - Access.java

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import dto.Usuarios;

public class Access
{
public ArrayList<Usuarios> getUsuarios(Connection con) throws SQLException
{
ArrayList<Usuarios> usuariosList = new ArrayList<Usuarios>();
PreparedStatement stmt = con.prepareStatement("SELECT * FROM usuarios");
ResultSet rs = stmt.executeQuery();
try
{
while(rs.next())
{
Usuarios usuariosObj = new Usuarios();
usuariosObj.setUsr_id(rs.getInt("usr_id"));
usuariosObj.setUsr_login(rs.getString("usr_login"));
usuariosObj.setUsr_pwd(rs.getString("usr_pwd"));
usuariosList.add(usuariosObj);

}
} catch (SQLException e)
{
e.printStackTrace();
}
return usuariosList;

}
}

DTO - Usuarios.java

package dto;

public class Usuarios
{
private int usr_id;
private String usr_login;
private String usr_pwd;

public Usuarios()
{

}

public Usuarios(int usr_id, String usr_login, String usr_pwd)
{
super();
this.usr_id = usr_id;
this.usr_login = usr_login;
this.usr_pwd = usr_pwd;
}

public int getUsr_id()
{
return usr_id;
}

public void setUsr_id(int usr_id)
{
this.usr_id = usr_id;
}

public String getUsr_login()
{
return usr_login;
}

public void setUsr_login(String usr_login)
{
this.usr_login = usr_login;
}

public String getUsr_pwd()
{
return usr_pwd;
}

public void setUsr_pwd(String usr_pwd)
{
this.usr_pwd = usr_pwd;
}


@Override
public String toString()
{
return "[ {usr_id=" + usr_id + ", usr_login=" + usr_login + ", usr_pwd=" + usr_pwd + "} ]";
}

}

模型 - AccessManager.java

package model;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;

import dao.Access;
import dao.Database;
import dto.Usuarios;

public class AccessManager
{
public ArrayList<Usuarios> getUsuarios() throws Exception
{
ArrayList<Usuarios> usuariosList = new ArrayList<Usuarios>();
Database db = new Database();
Connection con = db.getConnection();
Access access = new Access();
usuariosList = access.getUsuarios(con);
return usuariosList;
}
}

WebService - UsuariosService.java

package webService;

import java.util.ArrayList;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import com.google.gson.Gson;

import model.AccessManager;
import dto.Usuarios;

@Path("/UsuariosService")
public class UsuariosService
{
@GET
@Path("/usuarios")
@Produces("application/json")
public String usuarios()
{
String usuarios = null;
ArrayList<Usuarios> usuariosList = new ArrayList<Usuarios>();
try
{
usuariosList = new AccessManager().getUsuarios();
Gson gson = new Gson();
//usuarios = gson.toJson(usuariosList);
usuarios = "{\"usuarios\" :" + gson.toJson(usuariosList) + "}";
} catch (Exception e)
{
e.printStackTrace();
}
return usuarios;
}
}

最佳答案

通常您应该询问您遇到的具体问题,而不是索要 sample 。看起来您有一个结构化代码,您所需要做的就是实现作为服务公开的所有操作。

如果您需要示例,网络上有很多资源。像这样的:https://code.google.com/p/javaee6-crud-example/

我将尝试在下面为您提供一些快速提示:

WebService - UsuariosService.java

@POST
@Path("/usuarios")
public Response save(Usuario user) {
try {
manager= new AccessManager();
manager.save(user);
return Response.ok("User has been created.").build();
} catch (Exception e) {
e.printStackTrace();
}
return usuarios;
}

@DELETE
@Path("/usuarios/{id}")
public Response delete(@PathParam("id") String id) {
try {
manager= new AccessManager();
manager.delete(id);
return Response.ok("User has been deleted.").build();
} catch (Exception e) {
e.printStackTrace();
}
return usuarios;
}

@PUT
@Path("/usuarios/{id}")
public Response delete(@PathParam("id") String id, Usuario user) {
try {
manager= new AccessManager();
manager.update(id, user);
return Response.ok("User has been updated.").build();
} catch (Exception e) {
e.printStackTrace();
}
return usuarios;
}

如果你不明白PUT、DELETE、POST等用法,建议你阅读HTTP Method Tutorial 。有一些关于此的讨论,但您可以暂时跳过它。

我想你可能会从这里得到一个想法。您的DAO还需要实现执行 CRUD 接口(interface)的方法。我添加的链接有一个非常简单的示例,也可能有帮助。您也可以检查这个JPA链接。

不确定上面的信息是否有帮助,但我认为这是一个开始,因为您必须对其进行编码才能了解更多信息:)

关于java - 使用 GSON 和 Java 的完整 RESTFUL WebService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27950524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com