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

10/01/2019

17

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?
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..
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar