-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
Not something I expect to need for the very short term, but just to let you know:
In the Swagger documentation for POST core/scientific_objects, there is an example with the following structure:
{
"uri": "string",
"rdf_type": "vocabulary:Plot",
"name": "Plot 12",
"experiment": "string",
"relations": [
{
"property": "string",
"value": "string"
}
],
"geometry": "{'type':'Polygon','coordinates':[[[3.97167246,43.61328981], [3.97171243,43.61332417],[3.9717427,43.61330558],[3.97170272,43.61327122], [3.97167246,43.61328981],[3.97167246,43.61328981]]]}"
}
If I try to post that as is, it gives an error message:
{
"metadata": {
"pagination": {
"pageSize": 0,
"currentPage": 0,
"totalCount": 0,
"totalPages": 0
},
"status": [],
"datafiles": []
},
"result": {
"title": "Unable to parse JSON input",
"message": "Missing type id when trying to resolve subtype of [simple type, class org.geojson.GeoJsonObject]: missing type id property 'type' (for POJO property 'geometry')\n at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 12, column: 15] (through reference chain: org.opensilex.core.scientificObject.api.ScientificObjectCreationDTO[\"geometry\"])",
"stack": [],
"fullstack": [
"com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)",
"com.fasterxml.jackson.databind.DeserializationContext.missingTypeIdException(DeserializationContext.java:1945)",
"com.fasterxml.jackson.databind.DeserializationContext.handleMissingTypeId(DeserializationContext.java:1458)",
"com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._handleMissingTypeId(TypeDeserializerBase.java:307)",
"com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedUsingDefaultImpl(AsPropertyTypeDeserializer.java:174)",
"com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:94)",
"com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:263)",
"com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:138)",
"com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:324)",
"com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)",
"com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:322)",
"com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:2007)",
"com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1174)",
"org.glassfish.jersey.jackson.internal.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:837)",
"org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:233)",
"org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:212)",
"org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:132)",
"org.glassfish.jersey.spi.ContentEncoder.aroundReadFrom(ContentEncoder.java:102)",
"org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:132)",
"org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundReadFrom(MappableExceptionWrapperInterceptor.java:49)",
"org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:132)",
"org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1072)",
"org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:885)",
"org.glassfish.jersey.server.ContainerRequest.readEntity(ContainerRequest.java:274)",
"org.glassfish.jersey.server.internal.inject.EntityParamValueParamProvider$EntityValueSupplier.apply(EntityParamValueParamProvider.java:73)",
"org.glassfish.jersey.server.internal.inject.EntityParamValueParamProvider$EntityValueSupplier.apply(EntityParamValueParamProvider.java:56)",
"org.glassfish.jersey.server.spi.internal.ParamValueFactoryWithSource.apply(ParamValueFactoryWithSource.java:50)",
"org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getParameterValues(ParameterValueHelper.java:68)",
"org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$AbstractMethodParamInvoker.getParamValues(JavaResourceMethodDispatcherProvider.java:109)",
"org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)",
"org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)",
"org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)",
"org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)",
"org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)",
"org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255)",
"org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)",
"org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)",
"org.glassfish.jersey.internal.Errors.process(Errors.java:292)",
"org.glassfish.jersey.internal.Errors.process(Errors.java:274)",
"org.glassfish.jersey.internal.Errors.process(Errors.java:244)",
"org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)",
"org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234)",
"org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)",
"org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)",
"org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)",
"org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)",
"org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)",
"org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)",
"org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)",
"org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)",
"org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:206)",
"org.apache.catalina.valves.rewrite.RewriteValve.invoke(RewriteValve.java:295)",
"org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)",
"org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)",
"org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)",
"org.apache.catalina.valves.rewrite.RewriteValve.invoke(RewriteValve.java:552)",
"org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)",
"org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)",
"org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)",
"org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)",
"org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)",
"org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)",
"org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)",
"org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)",
"org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)",
"java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)",
"java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)",
"org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)",
"java.base/java.lang.Thread.run(Thread.java:829)"
]
}
}
Not sure how the nested quotes are handled exactly. Perhaps that goes wrong.
It might be related to this Error in the editor.swagger.io interface:

Metadata
Metadata
Assignees
Labels
No labels