RetResult增加Convert属性

This commit is contained in:
Redkale
2019-09-26 16:22:56 +08:00
parent 1791008729
commit 22cc7e086c
3 changed files with 24 additions and 5 deletions

View File

@@ -390,7 +390,9 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
this.header.addValue("retcode", String.valueOf(ret.getRetcode()));
this.header.addValue("retinfo", ret.getRetinfo());
}
finish(request.getJsonConvert().convertTo(getBodyBufferSupplier(), ret));
Convert convert = ret == null ? null : ret.convert();
if (convert == null) convert = request.getJsonConvert();
finish(convert.convertTo(getBodyBufferSupplier(), ret));
}
/**
@@ -497,6 +499,8 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
context.getLogger().log(Level.WARNING, "HttpServlet finish File occur, force to close channel. request = " + getRequest(), e);
finish(500, null);
}
} else if (obj instanceof org.redkale.service.RetResult) {
finishJson((org.redkale.service.RetResult) obj);
} else if (obj instanceof HttpResult) {
HttpResult result = (HttpResult) obj;
if (result.getContentType() != null) setContentType(result.getContentType());
@@ -506,7 +510,7 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
} else if (result.getResult() instanceof CharSequence) {
finish(result.getResult().toString());
} else {
finish(result.getConvert() == null ? convert : result.getConvert(), result.getResult());
finish(result.convert() == null ? convert : result.convert(), result.getResult());
}
} else {
if (hasRender) {

View File

@@ -90,12 +90,11 @@ public class HttpResult<T> {
return this;
}
@ConvertDisabled
public Convert getConvert() {
public Convert convert() {
return convert;
}
public void setConvert(Convert convert) {
public void convert(Convert convert) {
this.convert = convert;
}

View File

@@ -7,6 +7,7 @@ package org.redkale.service;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import org.redkale.convert.Convert;
import org.redkale.convert.json.*;
import org.redkale.util.Utility;
@@ -33,6 +34,8 @@ public class RetResult<T> {
protected Map<String, String> attach;
protected Convert convert;
public RetResult() {
}
@@ -40,6 +43,11 @@ public class RetResult<T> {
this.result = result;
}
public RetResult(Convert convert, T result) {
this.convert = convert;
this.result = result;
}
public RetResult(int retcode) {
this.retcode = retcode;
}
@@ -55,6 +63,14 @@ public class RetResult<T> {
this.result = result;
}
public Convert convert() {
return convert;
}
public void convert(Convert convert) {
this.convert = convert;
}
public static RetResult success() {
return new RetResult();
}