POSTJES DB에서 REST를 통해 양식 데이터를 저장하기 위해 함께 사용하는 angularJS, 나머지 항목 및 엔티티 항목을 모두 확보했습니다.JSON string to byte [] JSONParseException
그러나 필자는 엔터티 필드 중 하나와 다른 것을 시도하여 DB에 더 긴 텍스트 비트를 저장할 수 있도록 결정했습니다. 다음과 같이 필드가있는 엔티티를 사용하려고했습니다.
@Column
private int age;
@Lob
@Column(length = 2147483647)
private byte[] otherNeeds;
엔티티가 잘 작성되었습니다. JBoss Forge 스캐 폴딩 기반의 REST 인터페이스를 구축했습니다. "otherNeeds"필드를 비워두면 REST를 통해 양식을 절약 할 수 있습니다.
는이 모든 데이터를 AngularJS와 내 자바 스크립트 객체로 올바르게 통과, 그리고 내가 클릭 할 때() 버튼을 저장한다<input id="age" type="number" ng-model="primaryGuest.age"></input>
<input id="otherNeeds" type="text" ng-maxlength="2147483647" ng-model="primaryGuest.otherNeeds"></input>
, 나는 POST 요청이 내 휴식을 통해 이동 볼 수 있습니다 여기에
내 양식의 다음 페이로드 인터페이스 :Caused by: org.codehaus.jackson.JsonParseException: Failed to decode VALUE_STRING as base64 (MIME-NO-LINEFEEDS): Illegal character '"' (code 0x22) in base64 content
at [Source: [email protected]; line: 1, column: 67]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1433) [jackson-core-asl-1.9.9-redhat-2.jar:1.9.9-redhat-2]
at org.codehaus.jackson.impl.Utf8StreamParser.getBinaryValue(Utf8StreamParser.java:402) [jackson-core-asl-1.9.9-redhat-2.jar:1.9.9-redhat-2]
at org.codehaus.jackson.map.deser.std.PrimitiveArrayDeserializers$ByteDeser.deserialize(PrimitiveArrayDeserializers.java:289)
at org.codehaus.jackson.map.deser.std.PrimitiveArrayDeserializers$ByteDeser.deserialize(PrimitiveArrayDeserializers.java:275)
at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)
at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2704)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1315)
at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:419)
at org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:105) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.read(GZIPDecodingInterceptor.java:63) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:108) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:169) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
... 33 more
,617,451 :
{
otherNeeds: "jjjjjj"
age: "10"
}
그러나, 서버로부터 다시 응답은 예외
그래서이 시나리오를 처리하여 개체를 byte [] 형식으로 사용할 수있는 형식으로 변환하는 방법을 모르겠습니다. 표준 "문자열"필드로 돌아갈 수있는 옵션이 있지만 사용자에게 제공 할 수있는 "무제한"의 텍스트를 제공 할 수 있기를 원합니다.
모든 의견을 많이 주시면 감사하겠습니다.