MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "Restlet",
        "continue": "gapcontinue||"
    },
    "query": {
        "pages": {
            "772": {
                "pageid": 772,
                "ns": 0,
                "title": "Restful con Spring Roo",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "Tomamos el [[Ejemplo de proyecto web ABM con Spring Roo]] y configuramos la aplicaci\u00f3n para exponer los servicios.\n\n=== Configuracion ===\n\n* Agregamos el uso de [[JSON]] en webmvc-config.xml, para poder formatear el archivo de salida:\n\n<code>\n<bean class=\"org.springframework.web.servlet.view.ContentNegotiatingViewResolver\">\n      <property name=\"mediaTypes\">\n      <map>\n      <entry key=\"json\" value=\"application/json\"/>\n      </map>\n      </property>\n      <property name=\"defaultViews\">\n      <list>\n      <bean class=\"org.springframework.web.servlet.view.json.MappingJacksonJsonView\" />\n      </list>\n      </property>\n</bean>\n</code>\n\n* Agregamos las depencias en pom.xml:\n\n<code>\n<dependency>\n    <groupId>org.codehaus.jackson</groupId>\n    <artifactId>com.springsource.org.codehaus.jackson</artifactId>\n    <version>1.0.0</version>\n   </dependency>\n   <dependency>\n    <groupId>org.codehaus.jackson</groupId>\n    <artifactId>com.springsource.org.codehaus.jackson.mapper</artifactId>\n    <version>1.0.0</version>\n   </dependency>       \n</code>\n\n* Hacemos el re-deploy de la aplicaci\u00f3n y se actualiza el repositorio de [[Maven]] con las librerias que agregamos antes:\n\n<code>\nroo> perform clean\nroo> perform package\nroo> quit\nmvn tomcat:run\n</code>\n\n* Cuando se gener\u00f3 el proyecto con Roo, el aspecto del controller de la entidad \"Pedido\", vimos que la anotaci\u00f3n ya conten\u00eda los m\u00e9todos HTTP correctos para cada operaci\u00f3n:\n\n<code java>\n    @RequestMapping(value = \"/pedido/{id}\", method = RequestMethod.GET)\n    public String PedidoController.show(@PathVariable(\"id\") Long id, ModelMap modelMap) {\n        if (id == null) throw new IllegalArgumentException(\"An Identifier is required\");\n        modelMap.addAttribute(\"pedido_fechaEntrega_date_format\", org.joda.time.format.DateTimeFormat.patternForStyle(\"S-\", org.springframework.context.i18n.LocaleContextHolder.getLocale()));\n        modelMap.addAttribute(\"pedido\", Pedido.findPedido(id));\n        return \"pedido/show\";\n    }\n</code>\n\n=== Uso ===\n\nEntonces, bas\u00e1ndonos en la anotaci\u00f3n @RequestMapping y en el formato [[JSON]]: \n\n<code>\n//Un pedido existente con id=1:\nhttp://localhost:8080/demoPizzaOracle/pedido/1.json\n\n//Archivo de respuesta:\n{\"pedido\":{\"nombre\":\"uno\",\"direccion\":\"bulnes \",\"importe\":10.0,\"fechaEntrega\":1280291400000,\"pizzas\":[],\"id\":1,\"version\":0},\"pedido_fechaEntrega_date_format\":\"dd/MM/yy\"}\n\n\n//Un pedido inexistente con id=99:\nhttp://localhost:8080/demoPizzaOracle/pedido/99.json\n\n//Archivo de respuesta:\n{\"pedido\":null,\"pedido_fechaEntrega_date_format\":\"dd/MM/yy\"}\n</code>\n\n== Ver tambien ==\n\n* [[Spring Roo]]\n\n[[Category: Spring Framework]]"
                    }
                ]
            },
            "941": {
                "pageid": 941,
                "ns": 0,
                "title": "Restfuse",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Restfuse]] es una extensi\u00f3n de [[JUnit]] que permite realizar pruebas sobre servicios [[REST]] (pueden leer sobre crear servicios [[REST con Spring]]). \n\n== Configuraci\u00f3n ==\nUsando [[Maven]], basta con agregar en el POM: \n<code xml>\n <dependency>\n     <groupId>com.restfuse</groupId>\n     <artifactId>com.eclipsesource.restfuse</artifactId>\n     <version>1.0.0</version>\n     <scope>test</scope>\n </dependency>\n</code>\n\n== Test de servicio REST sin seguridad ==\nSupongamos un servicio REST sin seguridad, que se invoca en: \n http://localhost:8084/miapp/services/persona/id/{id}\n\nEste servicio devuelve una Persona en formato JSON con id {id}. Vamos a crear un test que busque la persona 123: \n\n<code java5>\n@RunWith(HttpJUnitRunner.class)\npublic class RestFuseTest {\n\n    @Rule\n    public Destination destination = new Destination(\"http://localhost:8084/miapp\");\n    @Context\n    private Response response; //se inyecta para cada request realizado\n\n    @HttpTest(method = Method.GET, path = \"/services/persona/id/123\")\n    public void buscarPersona_idExistente_devuelveLaPersona() {\n        String respuesta = response.getBody(String.class);\n        System.out.println(respuesta); //imprime la persona en JSON\n        assertOk(response); //comprueba que la respuesta haya sido HTTP status 200.\n    }\n}\n</code>\n\n== Test de servicio REST con seguridad ==\nSupongamos el mismo servicio anterior, pero esta vez necesita pasar por una autenticaci\u00f3n (por ejemplo, el servicio est\u00e1 segurizado usando [[Spring Security]]). \n\nSupongamos entonces el usuario \"zim\" con la contrase\u00f1a \"irken\". Para realizar el test, le informamos a [[Restfuse]] los datos para autenticarse previo a realizar el test. \n\n<code java5>\n@RunWith(HttpJUnitRunner.class)\npublic class RestFuseTest {\n\n    @Rule\n    public Destination destination = new Destination(\"http://localhost:8084/miapp\");\n    @Context\n    private Response response; //se inyecta para cada request realizado\n\n    @HttpTest(method = Method.GET, path = \"/services/persona/id/123\", authentications = {\n        @Authentication(user = \"zim\", password = \"irken\", type = AuthenticationType.BASIC)\n    })\n    public void buscarPersona_idExistente_devuelveLaPersona() {\n        String respuesta = response.getBody(String.class);\n        System.out.println(respuesta); //imprime la persona en JSON\n        assertOk(response); //comprueba que la respuesta haya sido HTTP status 200.\n    }\n}\n</code>\n\n== Ver tambi\u00e9n ==\n* [[REST con Spring]]\n* [http://restfuse.com/ Web oficial de Restfuse]"
                    }
                ]
            }
        }
    }
}