- Add iocMillis, iocNanos to default response
- Set correct response type - Serialize byte[] as byte[] and not String
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
package ch.psi.daq.queryrest.response;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerationException;
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
||||
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
|
||||
|
||||
// see: http://stackoverflow.com/a/15037329
|
||||
public class JsonByteArraySerializer extends StdSerializer<byte[]> {
|
||||
private static final long serialVersionUID = -5914688899857435263L;
|
||||
|
||||
public JsonByteArraySerializer() {
|
||||
super(byte[].class, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serialize(byte[] bytes, JsonGenerator jgen, SerializerProvider provider) throws IOException,
|
||||
JsonGenerationException {
|
||||
jgen.writeStartArray();
|
||||
|
||||
for (byte b : bytes) {
|
||||
// stackoverflow example used a mask -> ?
|
||||
jgen.writeNumber(b);
|
||||
}
|
||||
|
||||
jgen.writeEndArray();
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@ import javax.servlet.ServletResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.MediaType;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonEncoding;
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
@@ -100,6 +101,8 @@ public class ResponseStreamWriter {
|
||||
ObjectWriter writer)
|
||||
throws IOException {
|
||||
|
||||
response.setCharacterEncoding(JsonEncoding.UTF8.getJavaName());
|
||||
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
|
||||
JsonGenerator generator = jsonFactory.createGenerator(response.getOutputStream(), JsonEncoding.UTF8);
|
||||
generator.writeStartArray();
|
||||
stream
|
||||
|
||||
Reference in New Issue
Block a user