Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
discount week 30 halloween

Diskuze: Spring/REST/Json

Aktivity
Avatar
filipfr
Člen
Avatar
filipfr:26.8.2018 19:02

Ahoj, podařilo se mi rozběhat Spring MVC, ale nedaří se mi zprovoznit @RestController, tak aby vracel json (asi ani XML, ale to mě momentálně nezajímá).
Při GET požadavku dostanu Status 406 The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers.

kontroler:
@RestController
public class GreetingController
{
@RequestMappin­g(value = "/greeting", produces="appli­cation/json")
public Greeting greeting(/*@Re­questParam(va­lue="name", defaultValue="Wor­ld") String name*/) {
return new Greeting("hello", "Franta");
}

}

tomu samozřejmě odpovídá třída Greeting s gettery a settery + konstruktor

dispatcher-servlet.xml:

<?xml version='1.0' encoding='UTF-8' ?>
<!-- was: <?xml version="1.0" encoding="UTF-8"?> -->
<beans xmlns = "http://www.sprin­gframework.or­g/schema/bean­s"
xmlns:context = "http://www.sprin­gframework.or­g/schema/contex­t"
xmlns:mvc="ht­tp://www.sprin­gframework.or­g/schema/mvc"
xmlns:xsi = "http://www.w3­.org/2001/XMLSc­hema-instance"
xsi:schemaLocation = "http://www.sprin­gframework.or­g/schema/beans
http://www.springframework.org/…ng-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/…text-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/…ring-mvc.xsd">

<context:component-scan base-package = "controllers" />
<mvc:annotation-driven />

<bean id="contentNe­gotiationMana­ger" class="org.sprin­gframework.web­.accept.Conten­tNegotiationMa­nagerFactoryBe­an">
<property name="favorPat­hExtension" value="false" />
<property name="favorPa­rameter" value="true" />
<property name="mediaTypes" >
<value>
json=applicati­on/json
</value>
</property>
</bean>

</beans>

předpokládám, že chyba je v kontroleru, ale jistej si nejsem
ještě přidám web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id = "WebApp_ID" version = "2.4"
xmlns = "http://java.sun­.com/xml/ns/j2e­e"
xmlns:xsi = "http://www.w3­.org/2001/XMLSc­hema-instance"
xsi:schemaLocation = "http://java.sun­.com/xml/ns/j2ee
http://java.sun.com/…-app_2_4.xsd">

<display-name>Spring MVC Application</dis­play-name>

<servlet>
<servlet-name>HelloWeb</ser­vlet-name>
<servlet-class>
org.springfra­mework.web.ser­vlet.Dispatcher­Servlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>HelloWeb</ser­vlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>

Zkusil jsem: Zkoušel jsem prakticky všechny dotazy do googlu, které mě napadly a aplikovat navrhovaná řešení. Nejvíc mi jich vyběhlo při ctrl c, ctrl v - chybové hlášky, ale nepomohlo nic.

Chci docílit: Snažím se přes Insomnii dostat příslušný json, abych s ním mohl pracovat.

 
Odpovědět
26.8.2018 19:02
Avatar
filipfr
Člen
Avatar
Odpovídá na filipfr
filipfr:26.8.2018 19:05

"dispatcher-servlet.xml" se samozřejmě reálně jmenuje "HelloWeb-servlet.xml"

 
Nahoru Odpovědět
26.8.2018 19:05
Avatar
Odpovídá na filipfr
Matúš Olejník:26.8.2018 19:53

Ahoj, skopíruj sem aj obsah z pom.xml a vlož ho medzi [ code] [ /code]

Nahoru Odpovědět
26.8.2018 19:53
/* I am not sure why this works but it fixes the problem */
Avatar
filipfr
Člen
Avatar
Odpovídá na Matúš Olejník
filipfr:26.8.2018 20:04

Ahoj, to nepůjde. To je projekt s přidaným Springem (není to Maven projekt). "pom.xml" neexistuje.

 
Nahoru Odpovědět
26.8.2018 20:04
Avatar
Odpovídá na filipfr
Matúš Olejník:26.8.2018 20:57

Hmm tak máš v projekte knižnice niečo ako jackson-core...jar, jackson-databind...jar?

Nahoru Odpovědět
26.8.2018 20:57
/* I am not sure why this works but it fixes the problem */
Avatar
filipfr
Člen
Avatar
Odpovídá na Matúš Olejník
filipfr:26.8.2018 21:24

Aha to nemám. A písneš teda který jar. tam potřebuju?Díky

 
Nahoru Odpovědět
26.8.2018 21:24
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
filipfr
Člen
Avatar
Odpovídá na filipfr
filipfr:26.8.2018 21:26

Já myslel, že je to defaultně ve Springu.

 
Nahoru Odpovědět
26.8.2018 21:26
Avatar
Odpovídá na filipfr
Matúš Olejník:26.8.2018 22:09

Skús toto mohlo by to stačiť. Inak keďže začínaš nechceš rovno začať používať aj Maven a prípade SpringBoot? Tuto https://start.spring.io/ si naklikáš dependencies ktoré potrebuješ, dáš generate project a následne ho otvoríš ako maven projekt.

Nahoru Odpovědět
26.8.2018 22:09
/* I am not sure why this works but it fixes the problem */
Avatar
filipfr
Člen
Avatar
Odpovídá na Matúš Olejník
filipfr:26.8.2018 22:16

Díky, zkusím. Já ho nepoužil protože jsem se dočetl, že se hodí na větší projekty. A to jsem neplánoval.

 
Nahoru Odpovědět
26.8.2018 22:16
Avatar
Odpovídá na filipfr
Matúš Olejník:26.8.2018 22:19

Tak na menšom projekte si ho aspoň vyskúšaš :-)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
26.8.2018 22:19
/* I am not sure why this works but it fixes the problem */
Avatar
filipfr
Člen
Avatar
Odpovídá na Matúš Olejník
filipfr:1.9.2018 10:15

Ahoj, tak jsem začal od píky s Mavenem a funguje to. Díky

 
Nahoru Odpovědět
1.9.2018 10:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.