Posts

Endpoints del blog: lectura de content collections, mutaciones demo sin persistencia y likes en Turso bajo `/api/posts/likes/:slug`.

01 — Lectura (GET SSR)

Lectura de la colección del blog. Puedes abrir los GET en el navegador.

02 — Creación (POST SSR)

Requiere servidor en runtime. Prueba con Postman o curl.

  • POST SSR

    Crear post

    Simula la creación de un post (demo, sin persistencia).

    /api/posts

    Body JSON
    
                                                        
                                                            
                        {
                            "title": "Nuevo post",
                            "description": "Descripción de prueba"
                        }
                                                        
                                                    

03 — Actualización (PUT / PATCH SSR)

Actualiza un post existente por slug en la URL.

  • PUT SSR

    Actualizar post completo (PUT)

    Reemplaza los campos enviados en el body.

    /api/posts/first-post

    Body JSON
    
                                                        
                                                            
                        {
                            "title": "Título actualizado",
                            "description": "Descripción actualizada"
                        }
                                                        
                                                    
  • PATCH SSR

    Actualizar post parcial (PATCH)

    Actualiza solo los campos enviados en el body.

    /api/posts/first-post

    Body JSON
    
                                                        
                                                            
                        {
                            "description": "Solo cambio la descripción"
                        }
                                                        
                                                    

04 — Eliminación (DELETE SSR)

Simula el borrado de un post por slug.

  • DELETE SSR

    Eliminar post

    No requiere body. El slug va en la URL.

    /api/posts/first-post

05 — Likes (GET / POST SSR + Astro DB)

Likes persistidos en la tabla Posts (Turso). Requiere runtime (`pnpm dev --remote` o Worker). Usado por el componente LikeCounter en el blog.

  • GET SSR

    Obtener likes de un post

    Devuelve `{ id, title, likes }`. Si el slug no está en Turso, responde 200 con `title: "Post not found"` y `likes: 0` (sin insertar).

    /api/posts/likes/:slug

  • POST SSR

    Incrementar likes (o crear post en Turso)

    Si el slug no existe en la tabla Posts, lo crea e incrementa likes. Respuesta: texto `Ok!`.

    /api/posts/likes/:slug

    Body JSON
    
                                                        
                                                            
                        {
                            "likes": 1
                        }
                                                        
                                                    

Clients

CRUD real sobre la tabla Clients con Astro DB y Turso. Todas las rutas requieren servidor en runtime.

01 — Lectura (GET SSR + Astro DB)

Lectura real sobre la tabla Clients. Requiere servidor en runtime.

02 — Creación (POST SSR + Astro DB)

Inserta un cliente en Turso. Prueba con Postman o curl.

  • POST SSR

    Crear cliente

    Inserta un nuevo cliente en Astro DB.

    /api/clients

    Body JSON
    
                                                        
                                                            
                        {
                            "name": "Laura Martínez",
                            "age": 29,
                            "isActive": true
                        }
                                                        
                                                    

03 — Actualización (PUT / PATCH SSR + Astro DB)

Actualiza un cliente existente por id en la URL.

  • PUT SSR

    Reemplazar cliente (PUT)

    Actualiza todos los campos del cliente indicado.

    /api/clients/1

    Body JSON
    
                                                        
                                                            
                        {
                            "name": "Laura Martínez",
                            "age": 30,
                            "isActive": false
                        }
                                                        
                                                    
  • PATCH SSR

    Actualizar cliente parcial (PATCH)

    Actualiza solo los campos enviados en el body.

    /api/clients/1

    Body JSON
    
                                                        
                                                            
                        {
                            "isActive": true
                        }
                                                        
                                                    

04 — Eliminación (DELETE SSR + Astro DB)

Borra un cliente por id en la base de datos.

  • DELETE SSR

    Eliminar cliente

    No requiere body. El id va en la URL.

    /api/clients/1