API快速入门

先决条件:

  • 基本的终端/命令行技能
  • PATH环境变量支持caddycurl

首先启动Caddy:

  1. caddy start

Caddy现在处于空闲状态(配置为空白)。通过curl可以给它加上一个简单的配置:

  1. curl localhost:2019/load \
  2. -X POST \
  3. -H "Content-Type: application/json" \
  4. -d @- << EOF
  5. {
  6. "apps": {
  7. "http": {
  8. "servers": {
  9. "hello": {
  10. "listen": [":2015"],
  11. "routes": [
  12. {
  13. "handle": [{
  14. "handler": "static_response",
  15. "body": "Hello, world!"
  16. }]
  17. }
  18. ]
  19. }
  20. }
  21. }
  22. }
  23. }
  24. EOF

使用Heredoc提供POST包体可能很乏味,如果你更喜欢使用文件,请将JSON保存成caddy.json的文件,然后改用以下命令:

  1. curl localhost:2019/load \
  2. -X POST \
  3. -H "Content-Type: application/json" \
  4. -d @caddy.json

现在在浏览器中访问,或者通过curl调用:

  1. curl localhost:2015
  2. Hello, world!

我们还可以使用这个JSON在不同的端口上定义多个站点:

  1. {
  2. "apps": {
  3. "http": {
  4. "servers": {
  5. "hello": {
  6. "listen": [":2015"],
  7. "routes": [
  8. {
  9. "handle": [{
  10. "handler": "static_response",
  11. "body": "Hello, world!"
  12. }]
  13. }
  14. ]
  15. },
  16. "bye": {
  17. "listen": [":2016"],
  18. "routes": [
  19. {
  20. "handle": [{
  21. "handler": "static_response",
  22. "body": "Goodbye, world!"
  23. }]
  24. }
  25. ]
  26. }
  27. }
  28. }
  29. }
  30. }

更新你的 JSON,然后再次执行 API 请求。

浏览器中尝试新的“bye”端点,或使用curl以确保它有效:

  1. curl localhost:2016
  2. Goodbye, world!

当你使用完Caddy后,请务必停止它:

  1. caddy stop

使用API还可以做更多事情,包括导出配置和对配置进行细粒度地更改(而不是更新整个内容)。请务必阅读完整的 API教程,了解如何进行具体的操作!

进一步阅读