Dúvida - Como mapear array dentro do json no java hibernate

10/01/2019

0

Olá,

estou desenvolvendo uma API restful em JAVA e estou com seguinte problema.

Após minha requisição POST, não consigo mapear o array que está dentro do meu objeto JSON.

O valor que aparece na minha classe DAO no Java é sempre NULO.

Os dados contidos nesse array não serão salvos no banco.

Serão feitas algumas verificações apenas, mas para isso preciso mapea-lo na minha DAO.

Abaixo está o json, ar_days sempre aparece nulo após requisição web.

Os outros valores chegam todos corretos e sem problemas.

{
"id_urgency":"1",
"id_carrier":"1",
"id_patient":"10325",
"dt_open":"2019-01-20",
"hr_open":"10:22:00",
"ds_hospital_dst":"teste",
"ds_sector_dst" : "teste2",
"ds_room_dst" : "3565B",
"ar_days":["2","4","6"]

}
Como mapeio esse json na minha api?
Hugo

Hugo

Responder

Post mais votado

11/01/2019

E ae Hugo blz,

Cara eu tenho algumas APIs criadas com algumas tecnologias, dessas a mais simples de implementar eu acho que foi usando o Jersey , a API REST roda liso e já fiz integrações com vários sistemas diferentes de clientes.

Uma das grandes vantagens que ache é o mapeamento automático , dessa forma basta ter um objeto espelhado na requisição que o mesmo já vem preenchido pronto para trabalhar, segue um exemplo de como configurar esse cara , mas existe muito material legal na net sobre esse cara "mas da para fazer isso em Spring e outros frameWork Rest tbm destaco o Jersey pela simplicidade de montar a estrutura XD":

POM :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>br.com.suaAPI</groupId>
	<artifactId>suaAPI</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.3</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<warSourceDirectory>WebContent</warSourceDirectory>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<properties>
		<jersey2.version>2.19</jersey2.version>
		<jaxrs.version>2.0.1</jaxrs.version>
	</properties>
	<dependencies>
		<!-- JAX-RS -->
		<dependency>
			<groupId>javax.ws.rs</groupId>
			<artifactId>javax.ws.rs-api</artifactId>
			<version>${jaxrs.version}</version>
		</dependency>
		<!-- Jersey 2.19 -->
		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-servlet</artifactId>
			<version>${jersey2.version}</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-server</artifactId>
			<version>${jersey2.version}</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-client</artifactId>
			<version>${jersey2.version}</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-json-jackson</artifactId>
			<version>2.25</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> 
			<version>5.1.0.Final</version> </dependency> -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.10</version>
		</dependency>

		<dependency>
			<groupId>com.ibm.informix</groupId>
			<artifactId>jdbc</artifactId>
			<version>4.10.10</version>
		</dependency>

	</dependencies>

</project>


WEB :

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

<display-name>suaApi</display-name>

<servlet>
<servlet-name>suaApi</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>br.com.ws.suaApi</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<session-config>
<session-timeout>20</session-timeout>
</session-config>

<servlet-mapping>
<servlet-name>suaAPI</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>




Não sei o que uso para montar seu Rest, mas caso queira dar uma olhada no Jersey vale muito XD... boa sorte..

Jucélio Silva

Jucélio Silva
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar