Microserver is a zero configuration, standards based, battle hardened library to run Java Rest Microservices via a standard Java main class.
People
Repo info
Activity
Marco Castigliego
@marcocast
unfortunately when i start the server
i always get an exception on that method
WARNING: The following warnings have been detected: WARNING: Cannot create new registration for component type class com.ucd.parkabled.rest.ReportRest: Existing previous registration found for the type.
Existing previous registration found for the type.; source='null', [FATAL] No injection source found for a parameter of type public javax.ws.rs.core.Response com.ucd.parkabled.rest.ReportRest.send(java.io.InputStream,com.ucd.parkabled.model.ParkingLocation) throws java.lang.Exception at index 0.; source='ResourceMethod{httpMethod=POST, consumedTypes=[multipart/form-data], producedTypes=[application/json], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class com.ucd.parkabled.rest.ReportRest, handlerConstructors=[org.glassfish.jersey.server.model.HandlerConstructor@1f971be1]}, definitionMethod=public javax.ws.rs.core.Response com.ucd.parkabled.rest.ReportRest.send(java.io.InputStream,com.ucd.parkabled.model.ParkingLocation) throws java.lang.Exception, parameters=[Parameter [type=class java.io.InputStream, source=file, defaultValue=null], Parameter [type=class com.ucd.parkabled.model.ParkingLocation, source=parkingLocation, defaultValue=null]], responseType=class javax.ws.rs.core.Response}, nameBindings=[]}']
any idea where to look at?
John McClean
@johnmcclean
Is ReportRest an annotation or Rest Resource Class ?
because for Rest Resources you can just annotatie them @Rest and they will be picked up automatically with no config
the configuration is for registering your own Annotations
Marco Castigliego
@marcocast
ReportRest is a normal Rest
resource calss
class
it works perfectly if methods consume application/json
it does n t work if methods consume MULTIPART_FORM_DATA
in Jersey there is a specific lib to use in case of multipart
i m investigating and in case micro server will need a change i ll do it
John McClean
@johnmcclean
excellent - thanks Marco! I think Ciaran Treanor may have done something around this, will check my mails
Marco Castigliego
@marcocast
ah ok
let me know so
btw i implented oauth token authentication with micro server and stormpath. Works like a charm :)
John McClean
@johnmcclean
cool :)
yeah, he has done it in his own service. We should add a wiki entry
new MicroserverApp(ConfigurableModule
.builder()
.context(“multipart-app")
.defaultResources(Arrays.asList(MultiPartFeature.class))
.build()).run();
John McClean
@johnmcclean
so it looks like you are doing something similar - it’s probably down to the dependencies
let me know if that works, and we can add a wiki entry
Marco Castigliego
@marcocast
I saw that
but it does not work
John McClean
@johnmcclean
with this dependency? compile 'org.glassfish.jersey.media:jersey-media-multipart:2.17'
Marco Castigliego
@marcocast
yes
that dependency is already in the micro-server
John McClean
@johnmcclean
what error do you get ?
Marco Castigliego
@marcocast
basically if i add the .defaultResources(Arrays.asList(MultiPartFeature.class))
then
multipart works, but all the other json normal rest method are not supported anymore
If i send a json request to a previous working rest service, then i get : Status 415 Unsupported Media Type
John McClean
@johnmcclean
just on that resource - or on all other resources ?
Marco Castigliego
@marcocast
all
John McClean
@johnmcclean
wow - let’s try Stackoverflow
Marco Castigliego
@marcocast
it looks like it is overriding all the other default classes
John McClean
@johnmcclean
oh hold on. let me check the code
it should still add the other resources looking at the code. You can try adding them in manually to confirm, if you like. They are : JacksonFeature.class, ApiListingResourceJSON.class,JerseyApiDeclarationProvider.class, JerseyResourceListingProvider.class
Marco Castigliego
@marcocast
ok let me try
Marco Castigliego
@marcocast
works now
let me test the multipart as well
John McClean
@johnmcclean
ok cool - what version of Microserver are you using ?
Marco Castigliego
@marcocast
59
Ciaran Treanor
@ciarant
Hey all - you get your Multipart stuff working ok?
John McClean
@johnmcclean
looks like there was some sort of conflict between multipart and non-multipart