Files
TuneRipper/TuneRipper.Api/README.md
T
Michal Vrba e2d9ee3c59 Initial implementation of TuneRipper API backend
- Add Health, Video, and Download controllers with endpoints for health checks, video details, processing, status, results, and simulated downloads
- Implement IVideoService for YouTube URL validation and mock video info
- Add API models for responses and job status tracking
- Configure DI, CORS (BlazorPolicy), OpenAPI, and root metadata endpoint in Program.cs
- Add README with usage, troubleshooting, and development notes
- Minor project file cleanup and encoding fix
2025-12-11 14:27:29 +01:00

84 lines
2.2 KiB
Markdown

# TuneRipper API
## Quick Start
### Starting the API
**Option 1: Using the start script (Windows)**
```cmd
cd TuneRipper.Api
start-api.bat
```
**Option 2: Using the start script (Linux/Mac)**
```bash
cd TuneRipper.Api
chmod +x start-api.sh
./start-api.sh
```
**Option 3: Manual start**
```cmd
cd TuneRipper.Api
dotnet run
```
### API Endpoints
Once running, the API will be available at:
- **HTTPS**: https://localhost:7160
- **HTTP**: http://localhost:5112
### Testing the API
1. **Start the API** using one of the methods above
2. **Open the HTTP test file**: `TuneRipper.Api/api-tests.http`
3. **Run the connectivity tests first** to verify the API is responding
4. **Use the main API tests** once connectivity is confirmed
### Troubleshooting
#### "This localhost page can't be found" errors:
1. **Check if API is running**:
- Look for console output showing "Now listening on: https://localhost:7160"
- If not running, start it using the methods above
2. **Try HTTP instead of HTTPS**:
- Use `http://localhost:5112` instead of `https://localhost:7160`
- Some development environments have HTTPS certificate issues
3. **Trust development certificates** (for HTTPS):
```cmd
dotnet dev-certs https --trust
```
4. **Check port availability**:
- Make sure ports 7160 and 5112 aren't used by other applications
- You can change ports in `Properties/launchSettings.json`
#### HTTP test file variables not working:
1. **Copy job IDs manually**:
- Run a POST request to start processing
- Copy the `fileName` value from the response
- Use it in the manual test sections
2. **Use the troubleshooting section**:
- Start with connectivity tests
- Use manual GUID replacements if variables fail
### API Documentation
When the API is running, you can access:
- **Root endpoint**: https://localhost:7160/ (lists available endpoints)
- **OpenAPI spec**: https://localhost:7160/openapi/v1.json
- **Health check**: https://localhost:7160/api/health
### Development
The API includes:
- Automatic reload on code changes (when using `dotnet run`)
- Detailed logging in the console
- CORS enabled for Blazor WebAssembly client
- OpenAPI/Swagger support for API documentation