- 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
84 lines
2.2 KiB
Markdown
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 |