游学系统后端API

API Documentation

This document provides detailed information about the API endpoints available in the Youxue Server. Each endpoint’s purpose, method, URL, request parameters, and response format are described to assist frontend developers in integrating with the backend.

Base URL

secret

Endpoints


General

Get API Information
  • Method: GET
  • URL: /
  • Description: Returns a list of all available endpoints.
  • Request Parameters: None
  • Response:
    {
      "title": "Youxue Server API",
      "intro": "A database-backed API with the following endpoints",
      "routes": [
        "GET /",
        "POST /register",
        "GET /checkUsername",
        "POST /login",
        "GET /diaries",
        "POST /diaries",
        "PUT /diaries/:id/view",
        "PUT /diaries/:id/rate",
        "GET /diaries/recommended",
        "DELETE /diaries/:id",
        "PUT /area/:id/views",
        "PUT /area/:id/goods",
        "PUT /area/:id/bads",
        "POST /area",
        "PUT /area/:id/updateViews",
        "PUT /area/:id/updateGoods",
        "PUT /area/:id/updateBads",
        "GET /area/:id/getViews",
        "GET /area/:id/getGoods",
        "GET /area/:id/getBads"
      ]
    }
    

User Management

Register User
  • Method: POST
  • URL: /register
  • Description: Registers a new user.
  • Request Parameters:
    • Body:
      {
        "username": "string",
        "password": "string"
      }
      
  • Response:
    {
      "success": true,
      "userId": "number"
    }
    
    Or
    {
      "success": false,
      "error": "Username is already taken."
    }
    
Check Username
  • Method: GET
  • URL: /checkUsername
  • Description: Checks if a username exists.
  • Request Parameters:
    • Query:
      • username: string
  • Response:
    {
      "userId": "number"
    }
    
    Or
    {
      "error": "Username does not exist."
    }
    
Login
  • Method: POST
  • URL: /login
  • Description: Logs in a user.
  • Request Parameters:
    • Body:
      {
        "username": "string",
        "password": "string"
      }
      
  • Response:
    {
      "userId": "number"
    }
    
    Or
    {
      "error": "Invalid username or password."
    }
    

Diaries Management

Get Diaries
  • Method: GET
  • URL: /diaries
  • Description: Retrieves a list of all diaries.
  • Request Parameters: None
  • Response:
    {
      "diaries": [
        {
          "id": "number",
          "title": "string",
          "content": "string",
          "authorId": "number",
          "views": "number",
          "rating": "number"
        }
      ]
    }
    
Add Diary
  • Method: POST
  • URL: /diaries
  • Description: Adds a new diary.
  • Request Parameters:
    • Body:
      {
        "diary": {
          "title": "string",
          "content": "string"
        },
        "authorId": "number"
      }
      
  • Response:
    {
      "diaryId": "number"
    }
    
    Or
    {
      "error": "Failed to add diary!"
    }
    
View Diary
  • Method: PUT
  • URL: /diaries/:id/view
  • Description: Increases the view count of a diary.
  • Request Parameters:
    • URL:
      • id: number
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to update view count."
    }
    
Rate Diary
  • Method: PUT
  • URL: /diaries/:id/rate
  • Description: Rates a

diary.

  • Request Parameters:
    • URL:
      • id: number
    • Body:
      {
        "rating": "number"
      }
      
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to update rating."
    }
    
Get Recommended Diaries
  • Method: GET
  • URL: /diaries/recommended
  • Description: Retrieves a list of recommended diaries.
  • Request Parameters: None
  • Response:
    {
      "diaries": [
        {
          "id": "number",
          "title": "string",
          "content": "string",
          "authorId": "number",
          "views": "number",
          "rating": "number"
        }
      ]
    }
    
Delete Diary
  • Method: DELETE
  • URL: /diaries/:id
  • Description: Deletes a diary.
  • Request Parameters:
    • URL:
      • id: number
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to delete diary."
    }
    

Area Management

Add Area
  • Method: POST
  • URL: /area
  • Description: Adds a new area.
  • Request Parameters:
    • Body:
      {
        "name": "string"
      }
      
  • Response:
    {
      "areaId": "number"
    }
    
    Or
    {
      "error": "Failed to add area!"
    }
    
Increment Area Views
  • Method: PUT
  • URL: /area/:id/views
  • Description: Increases the view count of an area.
  • Request Parameters:
    • URL:
      • id: number
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to update view count."
    }
    
Increment Area Goods
  • Method: PUT
  • URL: /area/:id/goods
  • Description: Increases the goods (likes) count of an area.
  • Request Parameters:
    • URL:
      • id: number
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to update goods count."
    }
    
Increment Area Bads
  • Method: PUT
  • URL: /area/:id/bads
  • Description: Increases the bads (dislikes) count of an area.
  • Request Parameters:
    • URL:
      • id: number
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to update bads count."
    }
    
Update Area Views
  • Method: PUT
  • URL: /area/:id/updateViews
  • Description: Updates the view count of an area.
  • Request Parameters:
    • URL:
      • id: number
    • Body:
      {
        "views": "number"
      }
      
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to update views."
    }
    
Update Area Goods
  • Method: PUT
  • URL: /area/:id/updateGoods
  • Description: Updates the goods (likes) count of an area.
  • Request Parameters:
    • URL:
      • id: number
    • Body:
      {
        "goods": "number"
      }
      
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to update goods."
    }
    
Update Area Bads
  • Method: PUT
  • URL: /area/:id/updateBads
  • Description: Updates the bads (dislikes) count of an area.
  • Request Parameters:
    • URL:
      • id: number
    • Body:
      {
        "bads": "number"
      }
      
  • Response:
    {
      "success": true
    }
    
    Or
    {
      "error": "Failed to update bads."
    }
    
Get Area Views
  • Method: GET
  • URL: /area/:id/getViews
  • Description: Retrieves the view count of an area.
  • Request Parameters:
    • URL:
      • id: number
  • Response:
    {
      "views": "number"
    }
    
    Or
    {
      "error": "Failed to get views."
    }
    
Get Area Goods
  • Method: GET
  • URL: /area/:id/getGoods
  • Description: Retrieves the goods (likes) count of an area.
  • Request Parameters:
    • URL:
      • id: number
  • Response:
    {
      "goods": "number"
    }
    
    Or
    {
      "error": "Failed to get goods."
    }
    
Get Area Bads
  • Method: GET
  • URL: /area/:id/getBads
  • Description: Retrieves the bads (dislikes) count of an area.
  • Request Parameters:
    • URL:
      • id: number
  • Response:
    {
      "bads": "number"
    }
    
    Or
    {
      "error": "Failed to get bads."
    }
    

Notes

  • Ensure to handle error responses properly on the frontend to provide a good user experience.
  • The IDs used in the URL parameters should be numeric values representing the corresponding resources in the database.
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值