路由 ## 路由 [https://flynn.io/schema/router/route#](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#](https://flynn.io/schema/router/error#) | 属性 | 类型 | 描述 | | ----- | ----- | ---- | | code| string | 未发现、未发现对象、对象已存在、语法错误、校验错误、未知错误 | | message| string | | | detail| object| |