2015-12-19 3 views
0

J'utilise WizTools.org RESTClient 3.5 pour un projet d'école. J'ai déjà écrit quelques méthodes HTTP. GET et DELETE fonctionnent bien. J'ai aussi écrit un POST et un PUT, mais je ne sais pas comment les exécuter avec le client. J'ai essayé d'insérer un ensemble de données JSON en tant que corps de chaîne, mais il indique 415 (type de support non pris en charge). Est-ce ainsi que vous insérez un nouveau jeu de données? Comment fait-on ça?RESTClient 3.5 WizTools, méthode POST, nouvel ensemble de données

Merci pour l'aide!

17:39:40,520 WARN [org.jboss.resteasy.core.ExceptionHandler] failed to execute: javax.ws.rs.NotSupportedException: Cannot consume content type 
at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:380) 
at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:114) 
at org.jboss.resteasy.core.registry.RootNode.match(RootNode.java:43) 
at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:48) 
at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:444) 
at org.jboss.resteasy.core.SynchronousDispatcher.getInvoker(SynchronousDispatcher.java:234) 
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:171) 
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220) 
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) 
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86) 
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130) 
at org.jboss.weld.probe.ProbeFilter$FilterAction.proceed(ProbeFilter.java:309) 
at org.jboss.weld.probe.ProbeFilter$FilterAction.proceed(ProbeFilter.java:292) 
at org.jboss.weld.probe.InvocationMonitor$Action.perform(InvocationMonitor.java:155) 
at org.jboss.weld.probe.ProbeFilter$FilterAction.doFilter(ProbeFilter.java:318) 
at org.jboss.weld.probe.ProbeFilter.embedInfoSnippet(ProbeFilter.java:172) 
at org.jboss.weld.probe.ProbeFilter.doFilter(ProbeFilter.java:160) 
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) 
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) 
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) 
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) 
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) 
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) 
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) 
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) 
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) 
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) 
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) 
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72) 
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) 
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) 
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) 
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282) 
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261) 
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80) 
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172) 
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) 
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:778) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

Voici mon POST-méthode:

@POST 
@Consumes({ APPLICATION_JSON, APPLICATION_XML, TEXT_XML }) 
@Produces 
public Response createArtikel(@Valid Artikel artikel, @Context UriInfo uriInfo) { 
    artikel.setId(KEINE_ID); 

    final Artikel result = artikelBroker.createArtikel(artikel); 
    if (LOGGER.isLoggable(FINEST)) { 
     LOGGER.finest(result.toString()); 
    } 

    return Response.created(getUriArtikel(result, uriInfo)) 
        .build(); 
} 

et voici la méthode createArtikel:

public Artikel createArtikel(Artikel artikel) { 
    if (artikel == null) { 
     return null; 
    } 

    em.persist(artikel); 
    return artikel;  
} 
+0

Comment avez-vous exposé le repos et comment le consommez-vous? Tout code? – SMA

+0

J'ai édité la question –

+0

Vous devez spécifier quelle sera votre demande de publication pour produire la sortie. – SMA

Répondre

0

Vous devez dire explicitement que votre service est produit JSON, donc il suffit de fournir APPLICATION_JSON en @Produces annotation.