- 路由
- 创建路由
- 更新路由
- 获取路由
- 获取路由列表
- 删除路由
- 错误
路由
https://flynn.io/schema/router/route#
属性 | 类型 | 描述 |
---|---|---|
id | uuid string | 唯一标示 |
parent_ref | uuid string | 唯一标示 |
type | string | http tcp |
service | uuid string | 唯一标示 |
domain | string | 路由域名。仅适用于 HTTP 路由。 |
tls_cert | string | 路由可选的 TLS 证书。仅用于 HTTP 路由。 |
tls_key | string | 路由可选的 TLS 私钥。仅用于 HTTP 路由。 |
path | string | 路由到这个服务的可选路径。仅用于 HTTP 路由,且不与 TLS 选项公用 |
sticky | boolean | 路由是否使用粘性会话。仅用于 HTTP 路由。 |
port | integer | TCP 端口上监听 TCP 路由。 |
created_at | date-time string | 对象创建的时间戳 |
updated_at | date-time string | 对象最新更新的时间戳 |
创建路由
实例:—————————————————请求—————————————————
POST /routes HTTP/1.1
Content-Type: application/json
{
"type": "http",
"service": "foo-web",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"domain": "http://example.com"
}
—————————————————响应—————————————————
Content-Type: application/json; charset=UTF-8
{
"type": "http",
"id": "e8080915-1d48-4374-ac4f-c54a88bdd210",
"service": "foo-web",
"created_at": "2015-02-16T21:19:04.116018Z",
"updated_at": "2015-02-16T21:19:04.116018Z",
"domain": "http://example.com"
}
更新路由
实例:—————————————————请求—————————————————
PUT /routes/http/e8080915-1d48-4374-ac4f-c54a88bdd210 HTTP/1.1
Content-Type: application/json
{
"type": "http",
"id": "e8080915-1d48-4374-ac4f-c54a88bdd210",
"service": "bar-web",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"domain": "http://example.com"
}
—————————————————响应—————————————————
Content-Type: application/json; charset=UTF-8
{
"type": "http",
"id": "e8080915-1d48-4374-ac4f-c54a88bdd210",
"service": "bar-web",
"created_at": "2015-02-16T21:19:04.116018Z",
"updated_at": "2015-02-16T21:19:04.11883Z",
"domain": "http://example.com"
}
获取路由
实例:—————————————————请求—————————————————
GET /routes/http/e8080915-1d48-4374-ac4f-c54a88bdd210 HTTP/1.1
Content-Type: application/json
—————————————————响应—————————————————
Content-Type: application/json; charset=UTF-8
{
"type": "http",
"id": "e8080915-1d48-4374-ac4f-c54a88bdd210",
"service": "bar-web",
"created_at": "2015-02-16T21:19:04.116018Z",
"updated_at": "2015-02-16T21:19:04.11883Z",
"domain": "http://example.com"
}
获取路由列表
实例:—————————————————请求—————————————————
GET /routes HTTP/1.1
Content-Type: application/json
—————————————————响应—————————————————
Content-Type: application/json; charset=UTF-8
[
{
"type": "http",
"id": "e8080915-1d48-4374-ac4f-c54a88bdd210",
"service": "bar-web",
"created_at": "2015-02-16T21:19:04.116018Z",
"updated_at": "2015-02-16T21:19:04.11883Z",
"domain": "http://example.com"
},
{
"type": "http",
"id": "6391ee42-7db1-4387-95da-75cfee2e80e1",
"parent_ref": "controller/apps/61c01ac5e89140d39410395cdfcf38fa",
"service": "dashboard-web",
"created_at": "2015-02-16T21:19:02.094033Z",
"updated_at": "2015-02-16T21:19:02.094033Z",
"domain": "dashboard.dev.localflynn.com",
"tls_cert": "-----BEGIN CERTIFICATE-----\nMIIDOjCCAiSgAwIBAgIQLcnOaDV3iECxwsxhMPbvSTALBgkqhkiG9w0BAQswHTEO\nMAwGA1UEChMFRmx5bm4xCzAJBgNVBAsTAkNBMB4XDTE1MDIxNjIxMTkwMVoXDTIw\nMDIxNTIxMTkwMVowLTEOMAwGA1UEChMFRmx5bm4xGzAZBgNVBAMTEmRldi5sb2Nh\nbGZseW5uLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMZc97RD\nC66GKEpKRmtCazziQl+M4M8P0OfWyN73IANpCiu6pbgdXuCVsQFjC/kLuWwINxp9\ntvXvjWk5UYyU5EX0ZMUu6uaN7DQ8tIUPV89lpFx1bIbH+vtx/KvhUtUc0eNT0leG\n2Jd6PgO468oFYAT8I+QPe3ngpbNvLWofZe59nOTYWvxBfHoE2kacFUCaTYC9fgjq\nnh6Pn9xcBM3pIJQ4m9kLjW6EPGQrEnFd/ryLo6a8UGh+OdGh/3LuTZBkch5zetbu\na5bL3MX0WEkDoRdRXOI7+nh8d0LIcvaZqD4kiN2YMmtU87J0N47pHu4YyoArwILA\nTrKN7+gjX8EvWwkCAwEAAaNqMGgwDgYDVR0PAQH/BAQDAgCgMBMGA1UdJQQMMAoG\nCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwMwYDVR0RBCwwKoISZGV2LmxvY2FsZmx5\nbm4uY29tghQqLmRldi5sb2NhbGZseW5uLmNvbTALBgkqhkiG9w0BAQsDggEBACtZ\ndCxpaBJXHlRHz8co8LReHeyCez1GKlqD1bCD1qYxToEZPuWmi39xTtdCG2ZOA7SO\nhVZbG4vT4Ra5ANXWtoYco71UZeNn/viJXfF5FxKH8u1rNAsTH8uLdi4PO4Shy4/d\n2DBueWG1E4BB6LKRfkxSxqEaFeLuV8Z+IEfPaibvEG8G2cvMtK9frCjSSn+iPDtC\neSWnOvgoWmI8GEj9tdFpxwVjDuzK1wcjxkOprjigMV1Oh19D4u+rnjsZKzFNpgfK\nI768GFsL0eA42rDjyN6Q20oZ++4AJPCN7dHBszRZM1G5bfQE9e6C5JIYgbMEBDLJ\nbNGj5eq9CKY9WAVz6bw=\n-----END CERTIFICATE-----\n",
"tls_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAxlz3tEMLroYoSkpGa0JrPOJCX4zgzw/Q59bI3vcgA2kKK7ql\nuB1e4JWxAWML+Qu5bAg3Gn229e+NaTlRjJTkRfRkxS7q5o3sNDy0hQ9Xz2WkXHVs\nhsf6+3H8q+FS1RzR41PSV4bYl3o+A7jrygVgBPwj5A97eeCls28tah9l7n2c5Nha\n/EF8egTaRpwVQJpNgL1+COqeHo+f3FwEzekglDib2QuNboQ8ZCsScV3+vIujprxQ\naH450aH/cu5NkGRyHnN61u5rlsvcxfRYSQOhF1Fc4jv6eHx3Qshy9pmoPiSI3Zgy\na1TzsnQ3juke7hjKgCvAgsBOso3v6CNfwS9bCQIDAQABAoIBAEvPhh/Pq+xEe6uA\n3Y7qsH9xXbqU5epc+hNRBC4qtoJ3J5r015cZKoSc0SxdhVrmPzRpo12thDpUFnCL\npn4a/W866zRtLPt2bDq+pKNh7MZn6zwm6JZOYb6tnsq17+lg/VprU6197NNftcnI\nZ90q1rqw/qqPvDolQE7mg63WWCegD724BhVRBo8FUmcrn91uqt2plfCMnnzZPTbL\nB2Hk575ww+vjAysdihavJAeWtAVO7BpAFcQoDXjbFZXUxWaZbFd1r15PE55uJ/uh\nx0VdQ9GMGahF+yRyOqaKRnovEp0twKje0BgGFNwloU90VBL2HipuWvK0tM+pImCf\nX5rHcF0CgYEA09wbQZe7EIt2uWSyM5P0aMtrReWXHtSJaXUU5u4e1cF/J9KeeZfS\nMNXzIAcsJdZfF2jCyrQs5s+gE5d7yRWHl3L+qng18/yiLX9JXSVGtxiLIFdrFpqd\nGrgxMwyf8eGAUdFJnBE1nu4CKytVFTksMdHz0lZTDge1xyQ8zCvyqrMCgYEA77D+\n4dbX7GV8R1P6Lu7IAeACPuccHEPyGO0lrCiUZtrvzbyKa7nTI1ELeBCHzty4akGX\nR6lnWpUW0X0LZcsZAQzMfVYezwPwpgIJqtf529TEjEfvUsc9aYOPRvtoDtnSZ4dz\nz9ChbsRG5tt+Abipva80XqHYv+G4ZyKMNlOzcVMCgYB8/PX3lJSABkdcyNN5Kmif\nCqOW8QRe4/TNio1yUDlQ0n8590AXbEJNHWv6EUEycW5YWS3SeMmkwgkmhdA5qcH8\nz5L+7zylXP4w6U9W7I7zpj8uLWS4SS82fERKYcBa6zbRDi/nKx//S1tsLHxdsQUp\nvzuhc9w8AsBzZCWaLrNTkQKBgQC6hGry5rJDnH1nK+wFVX6CJwTYWhM/04ey6edk\n3ncMytXMrSixx3qLgud/2K01xgAjf0LvWt24WUfWYI3b+n1Mmd8OsVNsGE7Nf8xy\nC3q9HAaOevO64JvjXaLCw6Qn2kymj3sJffoBLe9WefrF8CL2Hj6MXTlDp6xNZU7i\nf6OlTQKBgQCYa/mTIT4NZuyoQitUIl8GyqeR3GHyaSfxCaPlynUG3iHdlr2NOfL1\nGlx5tGwcawJ1DUe/eKzA3Cj7IM+UcDTdIJM2t3dbQOPh/qEPY54NKTh5yHZ+qeuO\nrpSlpImSAUx46q7rnnm8KlEYKg6xVEwACHJFk55WxilDmee+/ZACag==\n-----END RSA PRIVATE KEY-----\n"
},
{
"type": "http",
"id": "4cf50c90-4f33-43a6-af4b-f1695fd17ee4",
"parent_ref": "controller/apps/0fa0d7a91e634d58be2a758e9e109ee8",
"service": "flynn-controller",
"created_at": "2015-02-16T21:19:01.537271Z",
"updated_at": "2015-02-16T21:19:01.537271Z",
"domain": "controller.dev.localflynn.com",
"tls_cert": "-----BEGIN CERTIFICATE-----\nMIIDOjCCAiSgAwIBAgIQLcnOaDV3iECxwsxhMPbvSTALBgkqhkiG9w0BAQswHTEO\nMAwGA1UEChMFRmx5bm4xCzAJBgNVBAsTAkNBMB4XDTE1MDIxNjIxMTkwMVoXDTIw\nMDIxNTIxMTkwMVowLTEOMAwGA1UEChMFRmx5bm4xGzAZBgNVBAMTEmRldi5sb2Nh\nbGZseW5uLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMZc97RD\nC66GKEpKRmtCazziQl+M4M8P0OfWyN73IANpCiu6pbgdXuCVsQFjC/kLuWwINxp9\ntvXvjWk5UYyU5EX0ZMUu6uaN7DQ8tIUPV89lpFx1bIbH+vtx/KvhUtUc0eNT0leG\n2Jd6PgO468oFYAT8I+QPe3ngpbNvLWofZe59nOTYWvxBfHoE2kacFUCaTYC9fgjq\nnh6Pn9xcBM3pIJQ4m9kLjW6EPGQrEnFd/ryLo6a8UGh+OdGh/3LuTZBkch5zetbu\na5bL3MX0WEkDoRdRXOI7+nh8d0LIcvaZqD4kiN2YMmtU87J0N47pHu4YyoArwILA\nTrKN7+gjX8EvWwkCAwEAAaNqMGgwDgYDVR0PAQH/BAQDAgCgMBMGA1UdJQQMMAoG\nCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwMwYDVR0RBCwwKoISZGV2LmxvY2FsZmx5\nbm4uY29tghQqLmRldi5sb2NhbGZseW5uLmNvbTALBgkqhkiG9w0BAQsDggEBACtZ\ndCxpaBJXHlRHz8co8LReHeyCez1GKlqD1bCD1qYxToEZPuWmi39xTtdCG2ZOA7SO\nhVZbG4vT4Ra5ANXWtoYco71UZeNn/viJXfF5FxKH8u1rNAsTH8uLdi4PO4Shy4/d\n2DBueWG1E4BB6LKRfkxSxqEaFeLuV8Z+IEfPaibvEG8G2cvMtK9frCjSSn+iPDtC\neSWnOvgoWmI8GEj9tdFpxwVjDuzK1wcjxkOprjigMV1Oh19D4u+rnjsZKzFNpgfK\nI768GFsL0eA42rDjyN6Q20oZ++4AJPCN7dHBszRZM1G5bfQE9e6C5JIYgbMEBDLJ\nbNGj5eq9CKY9WAVz6bw=\n-----END CERTIFICATE-----\n",
"tls_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAxlz3tEMLroYoSkpGa0JrPOJCX4zgzw/Q59bI3vcgA2kKK7ql\nuB1e4JWxAWML+Qu5bAg3Gn229e+NaTlRjJTkRfRkxS7q5o3sNDy0hQ9Xz2WkXHVs\nhsf6+3H8q+FS1RzR41PSV4bYl3o+A7jrygVgBPwj5A97eeCls28tah9l7n2c5Nha\n/EF8egTaRpwVQJpNgL1+COqeHo+f3FwEzekglDib2QuNboQ8ZCsScV3+vIujprxQ\naH450aH/cu5NkGRyHnN61u5rlsvcxfRYSQOhF1Fc4jv6eHx3Qshy9pmoPiSI3Zgy\na1TzsnQ3juke7hjKgCvAgsBOso3v6CNfwS9bCQIDAQABAoIBAEvPhh/Pq+xEe6uA\n3Y7qsH9xXbqU5epc+hNRBC4qtoJ3J5r015cZKoSc0SxdhVrmPzRpo12thDpUFnCL\npn4a/W866zRtLPt2bDq+pKNh7MZn6zwm6JZOYb6tnsq17+lg/VprU6197NNftcnI\nZ90q1rqw/qqPvDolQE7mg63WWCegD724BhVRBo8FUmcrn91uqt2plfCMnnzZPTbL\nB2Hk575ww+vjAysdihavJAeWtAVO7BpAFcQoDXjbFZXUxWaZbFd1r15PE55uJ/uh\nx0VdQ9GMGahF+yRyOqaKRnovEp0twKje0BgGFNwloU90VBL2HipuWvK0tM+pImCf\nX5rHcF0CgYEA09wbQZe7EIt2uWSyM5P0aMtrReWXHtSJaXUU5u4e1cF/J9KeeZfS\nMNXzIAcsJdZfF2jCyrQs5s+gE5d7yRWHl3L+qng18/yiLX9JXSVGtxiLIFdrFpqd\nGrgxMwyf8eGAUdFJnBE1nu4CKytVFTksMdHz0lZTDge1xyQ8zCvyqrMCgYEA77D+\n4dbX7GV8R1P6Lu7IAeACPuccHEPyGO0lrCiUZtrvzbyKa7nTI1ELeBCHzty4akGX\nR6lnWpUW0X0LZcsZAQzMfVYezwPwpgIJqtf529TEjEfvUsc9aYOPRvtoDtnSZ4dz\nz9ChbsRG5tt+Abipva80XqHYv+G4ZyKMNlOzcVMCgYB8/PX3lJSABkdcyNN5Kmif\nCqOW8QRe4/TNio1yUDlQ0n8590AXbEJNHWv6EUEycW5YWS3SeMmkwgkmhdA5qcH8\nz5L+7zylXP4w6U9W7I7zpj8uLWS4SS82fERKYcBa6zbRDi/nKx//S1tsLHxdsQUp\nvzuhc9w8AsBzZCWaLrNTkQKBgQC6hGry5rJDnH1nK+wFVX6CJwTYWhM/04ey6edk\n3ncMytXMrSixx3qLgud/2K01xgAjf0LvWt24WUfWYI3b+n1Mmd8OsVNsGE7Nf8xy\nC3q9HAaOevO64JvjXaLCw6Qn2kymj3sJffoBLe9WefrF8CL2Hj6MXTlDp6xNZU7i\nf6OlTQKBgQCYa/mTIT4NZuyoQitUIl8GyqeR3GHyaSfxCaPlynUG3iHdlr2NOfL1\nGlx5tGwcawJ1DUe/eKzA3Cj7IM+UcDTdIJM2t3dbQOPh/qEPY54NKTh5yHZ+qeuO\nrpSlpImSAUx46q7rnnm8KlEYKg6xVEwACHJFk55WxilDmee+/ZACag==\n-----END RSA PRIVATE KEY-----\n"
},
{
"type": "tcp",
"id": "733348c4-f2e0-490f-bd90-67c9551aa3a6",
"parent_ref": "controller/apps/a1f78fa3a47243cea6a0b4a4e0b40beb",
"service": "gitreceive",
"created_at": "2015-02-16T21:19:01.521562Z",
"updated_at": "2015-02-16T21:19:01.521562Z",
"port": 2222
}
]
删除路由
实例:—————————————————请求—————————————————
DELETE /routes/http/e8080915-1d48-4374-ac4f-c54a88bdd210 HTTP/1.1
Content-Type: application/json
—————————————————响应—————————————————
Content-Type: application/json; charset=UTF-8
错误
https://flynn.io/schema/router/error#
属性 | 类型 | 描述 |
---|---|---|
code | string | 未发现、未发现对象、对象已存在、语法错误、校验错误、未知错误 |
message | string | |
detail | object |
原文: http://doc.oschina.net/flynn?t=54126