This commit is contained in:
Redkale
2016-08-29 20:27:54 +08:00
parent e8e6459679
commit 81f386dcdb
8 changed files with 142 additions and 48 deletions

View File

@@ -19,9 +19,18 @@ import org.redkale.util.Sheet;
*/
public class HelloService implements Service {
private int nodeid;
@Resource
private DataSource source;
public HelloService() {
}
public HelloService(int nodeid) {
this.nodeid = nodeid;
}
//增加记录
public RetResult<HelloEntity> createHello(UserInfo info, HelloEntity entity) {
entity.setCreator(info == null ? 0 : info.getUserid()); //设置当前用户ID
@@ -37,7 +46,7 @@ public class HelloService implements Service {
//修改记录
public void updateHello(@RestAddress String clientAddr, HelloEntity entity) { //通过 /hello/update?bean={...} 修改对象
System.out.println("修改记录: clientAddr = " + clientAddr + ", entity =" + entity);
System.out.println("修改记录-" + nodeid + ": clientAddr = " + clientAddr + ", entity =" + entity);
if (entity != null) entity.setUpdatetime(System.currentTimeMillis());
if (source != null) source.update(entity);
}
@@ -66,4 +75,5 @@ public class HelloService implements Service {
public HelloEntity findHello(@RestParam("#") int id) { //通过 /hello/find/1234 查询对象
return source.find(HelloEntity.class, id);
}
}

View File

@@ -1,7 +1,6 @@
package org.redkale.test.rest;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.*;
import javax.annotation.Resource;
import org.redkale.net.http.*;
@@ -16,15 +15,16 @@ public class _DynHelloRestServlet1 extends SimpleRestServlet {
@Resource
private HelloService _service;
@Resource
private Map<String, HelloService> _servicemap;
public static void main(String[] args) throws Throwable {
final int port = 8888;
HelloService service = new HelloService();
HttpServer server = new HttpServer();
RestHttpServlet servlet = Rest.createRestServlet(SimpleRestServlet.class, "", HelloService.class, false);
Field field = servlet.getClass().getDeclaredField("_service");
field.setAccessible(true);
field.set(servlet, service);
server.addHttpServlet(servlet, "/pipes", null, "/hello/*");
server.addRestServlet(HelloService.class, "", service, SimpleRestServlet.class, "/pipes", null);
server.addRestServlet(HelloService.class, "my-res", new HelloService(3), SimpleRestServlet.class, "/pipes", null);
DefaultAnyValue conf = DefaultAnyValue.create("port", "" + port);
server.init(conf);
@@ -35,6 +35,7 @@ public class _DynHelloRestServlet1 extends SimpleRestServlet {
entity.setHelloname("my name");
Map<String, String> headers = new HashMap<>();
headers.put("hello-res", "my res");
//headers.put(Rest.REST_HEADER_RESOURCE_NAME, "my-res");
String url = "http://127.0.0.1:" + port + "/pipes/hello/update?entity={}&bean2={}";
System.out.println(Utility.postHttpContent(url, headers, null));
@@ -43,68 +44,76 @@ public class _DynHelloRestServlet1 extends SimpleRestServlet {
@AuthIgnore
@WebAction(url = "/hello/create")
public void create(HttpRequest req, HttpResponse resp) throws IOException {
HelloService service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean");
UserInfo user = currentUser(req);
RetResult<HelloEntity> result = _service.createHello(user, bean);
RetResult<HelloEntity> result = service.createHello(user, bean);
resp.finishJson(result);
}
@AuthIgnore
@WebAction(url = "/hello/delete/")
public void delete(HttpRequest req, HttpResponse resp) throws IOException {
HelloService service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
int id = Integer.parseInt(req.getRequstURILastPath());
_service.deleteHello(id);
service.deleteHello(id);
resp.finishJson(RetResult.success());
}
@AuthIgnore
@WebAction(url = "/hello/update")
public void update(HttpRequest req, HttpResponse resp) throws IOException {
HelloService service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
String clientaddr = req.getRemoteAddr();
HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean");
_service.updateHello(clientaddr, bean);
service.updateHello(clientaddr, bean);
resp.finishJson(RetResult.success());
}
@AuthIgnore
@WebAction(url = "/hello/partupdate")
public void partupdate(HttpRequest req, HttpResponse resp) throws IOException {
HelloService service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean");
String[] cols = req.getJsonParameter(String[].class, "cols");
_service.updateHello(bean, cols);
service.updateHello(bean, cols);
resp.finishJson(RetResult.success());
}
@AuthIgnore
@WebAction(url = "/hello/query")
public void query(HttpRequest req, HttpResponse resp) throws IOException {
HelloService service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
HelloBean bean = req.getJsonParameter(HelloBean.class, "bean");
Flipper flipper = req.getFlipper();
Sheet<HelloEntity> result = _service.queryHello(bean, flipper);
Sheet<HelloEntity> result = service.queryHello(bean, flipper);
resp.finishJson(result);
}
@AuthIgnore
@WebAction(url = "/hello/list")
public void list(HttpRequest req, HttpResponse resp) throws IOException {
HelloService service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
HelloBean bean = req.getJsonParameter(HelloBean.class, "bean");
List<HelloEntity> result = _service.queryHello(bean);
List<HelloEntity> result = service.queryHello(bean);
resp.finishJson(result);
}
@AuthIgnore
@WebAction(url = "/hello/find/")
public void find(HttpRequest req, HttpResponse resp) throws IOException {
HelloService service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
int id = Integer.parseInt(req.getRequstURILastPath());
HelloEntity bean = _service.findHello(id);
HelloEntity bean = service.findHello(id);
resp.finishJson(bean);
}
@AuthIgnore
@WebAction(url = "/hello/jsfind/")
public void jsfind(HttpRequest req, HttpResponse resp) throws IOException {
HelloService service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
int id = Integer.parseInt(req.getRequstURILastPath());
HelloEntity bean = _service.findHello(id);
HelloEntity bean = service.findHello(id);
resp.finishJsResult("varhello", bean);
}
}

View File

@@ -6,6 +6,7 @@
package org.redkale.test.rest;
import java.io.IOException;
import java.util.Map;
import javax.annotation.Resource;
import org.redkale.net.http.*;
import org.redkale.service.RetResult;
@@ -22,45 +23,53 @@ public class _DynHelloRestServlet2 extends SimpleRestServlet {
@Resource
private HelloService2 _service;
@Resource
private Map<String, HelloService2> _servicemap;
@AuthIgnore
@WebAction(url = "/hello/create")
public void create(HttpRequest req, HttpResponse resp) throws IOException {
HelloService2 service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean");
UserInfo user = currentUser(req);
RetResult<HelloEntity> result = _service.createHello(user, bean);
RetResult<HelloEntity> result = service.createHello(user, bean);
resp.finishJson(result);
}
@AuthIgnore
@WebAction(url = "/hello/delete/")
public void delete(HttpRequest req, HttpResponse resp) throws IOException {
HelloService2 service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
int id = Integer.parseInt(req.getRequstURILastPath());
_service.deleteHello(id);
service.deleteHello(id);
resp.finishJson(RetResult.success());
}
@AuthIgnore
@WebAction(url = "/hello/update")
public void update(HttpRequest req, HttpResponse resp) throws IOException {
HelloService2 service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean");
_service.updateHello(bean);
service.updateHello(bean);
resp.finishJson(RetResult.success());
}
@AuthIgnore
@WebAction(url = "/hello/query")
public void query(HttpRequest req, HttpResponse resp) throws IOException {
HelloService2 service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
HelloBean bean = req.getJsonParameter(HelloBean.class, "bean");
Flipper flipper = req.getFlipper();
Sheet<HelloEntity> result = _service.queryHello(bean, flipper);
Sheet<HelloEntity> result = service.queryHello(bean, flipper);
resp.finishJson(result);
}
@AuthIgnore
@WebAction(url = "/hello/find/")
public void find(HttpRequest req, HttpResponse resp) throws IOException {
HelloService2 service = _servicemap == null ? _service : _servicemap.get(req.getHeader(Rest.REST_HEADER_RESOURCE_NAME, ""));
int id = Integer.parseInt(req.getRequstURILastPath());
HelloEntity bean = _service.findHello(id);
HelloEntity bean = service.findHello(id);
resp.finishJson(bean);
}
}