지하철역

지하철역 등록

HTTP request

POST /stations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 35
Host: localhost:8080

{
  "name" : "지하철역이름"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /stations/1
Content-Type: application/json
Content-Length: 47

{
  "id" : 1,
  "name" : "지하철역이름"
}

지하철역 목록

HTTP request

GET /stations HTTP/1.1
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 167

[ {
  "id" : 1,
  "name" : "지하철역이름"
}, {
  "id" : 2,
  "name" : "새로운지하철역이름"
}, {
  "id" : 3,
  "name" : "또다른지하철역이름"
} ]

지하철역 삭제

HTTP request

DELETE /stations/1 HTTP/1.1
Host: localhost:8080

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

지하철 노선

지하철 노선 등록

HTTP request

POST /lines HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 139
Host: localhost:8080

{
  "name" : "신분당선",
  "color" : "bg-red-600",
  "upStationId" : 1,
  "downStationId" : 2,
  "distance" : 10,
  "extraFare" : 900
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /lines/1
Content-Type: application/json
Content-Length: 214

{
  "id" : 1,
  "name" : "신분당선",
  "color" : "bg-red-600",
  "extraFare" : 900,
  "stations" : [ {
    "id" : 1,
    "name" : "지하철역"
  }, {
    "id" : 2,
    "name" : "새로운지하철역"
  } ]
}

지하철 노선 목록

HTTP request

GET /lines HTTP/1.1
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 433

[ {
  "id" : 1,
  "name" : "신분당선",
  "color" : "bg-red-600",
  "extraFare" : 900,
  "stations" : [ {
    "id" : 1,
    "name" : "지하철역"
  }, {
    "id" : 2,
    "name" : "새로운지하철역"
  } ]
}, {
  "id" : 2,
  "name" : "분당선",
  "color" : "bg-green-600",
  "extraFare" : 900,
  "stations" : [ {
    "id" : 1,
    "name" : "지하철역"
  }, {
    "id" : 3,
    "name" : "또다른지하철역"
  } ]
} ]

지하철 노선 조회

HTTP request

GET /lines/1 HTTP/1.1
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 214

{
  "id" : 1,
  "name" : "신분당선",
  "color" : "bg-red-600",
  "extraFare" : 900,
  "stations" : [ {
    "id" : 1,
    "name" : "지하철역"
  }, {
    "id" : 2,
    "name" : "새로운지하철역"
  } ]
}

지하철 노선 수정

HTTP request

PUT /lines/1 HTTP/1.1
Content-Type: application/json
Content-Length: 79
Host: localhost:8080

{
  "name" : "다른분당선",
  "color" : "bg-red-600",
  "extraFare" : 900
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

지하철 노선 삭제

HTTP request

DELETE /lines/1 HTTP/1.1
Host: localhost:8080

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

구간

구간 등록

HTTP request

POST /lines/1/sections HTTP/1.1
Content-Type: application/json
Content-Length: 65
Host: localhost:8080

{
  "upStationId" : 1,
  "downStationId" : 2,
  "distance" : 10
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

구간 제거

HTTP request

DELETE /lines/1/sections?stationId=2 HTTP/1.1
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

경로

경로 조회

HTTP request

GET /paths?source=1&target=5&age=15 HTTP/1.1
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 239

{
  "stations" : [ {
    "id" : 1,
    "name" : "지하철역이름"
  }, {
    "id" : 2,
    "name" : "새로운지하철역이름"
  }, {
    "id" : 3,
    "name" : "또다른지하철역이름"
  } ],
  "distance" : 9,
  "fare" : 1250
}