<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://dosideas.com/wiki/index.php?action=history&amp;feed=atom&amp;title=REST_con_Spring_Roo</id>
		<title>REST con Spring Roo - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="https://dosideas.com/wiki/index.php?action=history&amp;feed=atom&amp;title=REST_con_Spring_Roo"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=REST_con_Spring_Roo&amp;action=history"/>
		<updated>2026-04-05T18:49:09Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=REST_con_Spring_Roo&amp;diff=6557&amp;oldid=prev</id>
		<title>Parivero: Página creada con 'En este ejemplo se demuestra como podemos utilizar Spring Roo, para genera una aplicación web que expone servicios web [http://es.wikipedia.org/wiki/Representational_State_…'</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=REST_con_Spring_Roo&amp;diff=6557&amp;oldid=prev"/>
				<updated>2012-03-28T18:49:46Z</updated>
		
		<summary type="html">&lt;p&gt;Página creada con &amp;#039;En este ejemplo se demuestra como podemos utilizar &lt;a href=&quot;/wiki/Spring_Roo&quot; title=&quot;Spring Roo&quot;&gt;Spring Roo&lt;/a&gt;, para genera una aplicación web que expone servicios web [http://es.wikipedia.org/wiki/Representational_State_…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;En este ejemplo se demuestra como podemos utilizar [[Spring Roo]], para genera una aplicación web que expone servicios web [http://es.wikipedia.org/wiki/Representational_State_Transfer REST].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ejemplo ==&lt;br /&gt;
Para este ejemplo utilizamos una base de datos Oracle. A continuación detallamos los comandos de [[Spring Roo]] y las modificaciones manuales que hay que realizar.&lt;br /&gt;
&lt;br /&gt;
=== Creación de la tabla persona ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
create table persona (id number(10) primary key, &lt;br /&gt;
nombre varchar2(100), edad number(2))&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Insertamos algunos datos ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
insert into persona values(1,'Cacho',55);&lt;br /&gt;
 &lt;br /&gt;
insert into persona values(2,'pepe',45);&lt;br /&gt;
&lt;br /&gt;
insert into persona values(3,'Tomás',0);&lt;br /&gt;
&lt;br /&gt;
insert into persona values(4,'Josefina',2);&lt;br /&gt;
&lt;br /&gt;
commit;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generamos el proyecto ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
project --topLevelPackage com.dosideas.personaservice --projectName persona-service --java 6 --packaging WAR&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generamos la capa de persistencia JPA, utilizando Hibernate como ORM ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --provider HIBERNATE --database ORACLE --hostName hostname --userName userName --databaseName baseName --password pass&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Deshabilitamos hibernate.hbm2ddl.auto&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Comentamos la siguiente linea en el archivo persistence.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;property name=&amp;quot;hibernate.hbm2ddl.auto&amp;quot; value=&amp;quot;create&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota: Como estamos utilizando Oracle, tenemos que modificar el pom de la aplicación para que Maven pueda descargar los drivers.&lt;br /&gt;
&lt;br /&gt;
Cambiar:&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
  &amp;lt;groupId&amp;gt;com.oracle&amp;lt;/groupId&amp;gt;&lt;br /&gt;
  &amp;lt;artifactId&amp;gt;ojdbc14&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
  &amp;lt;version&amp;gt;10.2.0.2&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por:&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
  &amp;lt;groupId&amp;gt;com.oracle&amp;lt;/groupId&amp;gt;&lt;br /&gt;
  &amp;lt;artifactId&amp;gt;ojdbc14&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
  &amp;lt;version&amp;gt;10.2.0.4&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También hay que agregar el repositorio donde esta el driver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;repository&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;mvnsearch&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;url&amp;gt;http://www.mvnsearch.org/maven2/&amp;lt;/url&amp;gt;&lt;br /&gt;
  &amp;lt;/repository&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agregamos las librerías de Jackson para la serialización de los objetos ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
dependency add --groupId org.codehaus.jackson --artifactId jackson-jaxrs --version 1.8.4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mapeo de la entidad y sus campos ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
entity jpa --class com.dosideas.personaservice.domain.Persona --identifierField id --identifierColumn id&lt;br /&gt;
field string --fieldName nombre&lt;br /&gt;
field number --fieldName edad --type java.lang.Long&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por defecto se agrega el campo “version”, para que este campo no se genere hay que modificar la anotación “@RooJpaActiveRecord” en la entidad Persona y agregar el parámetros “versionField” con una cadena vacía.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@RooJpaActiveRecord(versionField = &amp;quot;&amp;quot;, identifierColumn = &amp;quot;id&amp;quot;, identifierField = &amp;quot;id&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agregamos soporte para JSON en las entidades ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
json all&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agregamos soporte para JSON para Spring MVC ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
web mvc json setup&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Creamos el controlador que expondrá los servicios REST ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
web mvc json all --package ~.web&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compilamos el proyecto ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
perform package&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Desplegamos la aplicación ===&lt;br /&gt;
&lt;br /&gt;
En este caso utilizamos el plugin de jetty.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mvn jetty:run&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servicio creados ===&lt;br /&gt;
&lt;br /&gt;
Inserta un registro en la tabla persona&lt;br /&gt;
&lt;br /&gt;
POST http://localhost:8080/persona-service/persona&lt;br /&gt;
&lt;br /&gt;
Inserta una colección de registros en la tabla persona&lt;br /&gt;
&lt;br /&gt;
POST http://localhost:8080/persona-service/persona/jsonArray&lt;br /&gt;
&lt;br /&gt;
Obtiene todos los registros de la tabla persona&lt;br /&gt;
&lt;br /&gt;
GET http://localhost:8080/persona-service/persona&lt;br /&gt;
&lt;br /&gt;
Obtiene el registro correspondiente al id.&lt;br /&gt;
&lt;br /&gt;
GET http://localhost:8080/persona-service/persona/{id}&lt;br /&gt;
&lt;br /&gt;
Borra el registro correspondiente al id.&lt;br /&gt;
&lt;br /&gt;
DELETE http://localhost:8080/persona-service/persona/{id}&lt;br /&gt;
&lt;br /&gt;
Actualiza el registro correspondiente al id.&lt;br /&gt;
&lt;br /&gt;
PUT http://localhost:8080/persona-service/persona/{id}&lt;br /&gt;
&lt;br /&gt;
Actualiza la colleccion de registros.&lt;br /&gt;
&lt;br /&gt;
PUT http://localhost:8080/persona-service/persona/jsonArray&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Parivero</name></author>	</entry>

	</feed>