Розенкранц Метод маршрутизации УДАЛИТЬ не работает? - PullRequest
0 голосов

я использую Rosencrantz для Api Server.
, но
УДАЛЕН набор методов УДАЛЕНО выполняется компиляция с ошибкой
не работает?

i Копия документа и путь, сообщение, http-метод только для редактирования

nim-версия: 0.19.6
rosencrantz: 0.3.8

import
  asyncdispatch,
  asynchttpserver,
  strutils,
  rosencrantz

let handler = get[
  path("/api/users")[
    ok("Get Users")
  ] ~
  pathChunk("/api/users")[
    intSegment(proc(id: int): auto =
      ok("Get User by " & intToStr(id) & "!")
    )
  ]
] ~ delete[
  pathChunk("/api/users")[
    intSegment(proc(id: int): auto =
      ok("Delete User by " & intToStr(id) & "!")
    )
  ]
]

let server = newAsyncHttpServer()
waitFor server.serve(Port(8080), handler)

Сообщение об ошибке

     :
     :
    ... api.nim(16, 3) Error: type mismatch: got <Handler, proc (x: var seq[Handler], i: Natural){.noSideEffect, gcsafe, locks: 0.}>
    ... but expected one of:
    ... proc `~`(h1, h2: Handler): Handler
    ...   first type mismatch at position: 2
    ...   required type: Handler
    ...   but expression 'delete' is of type: proc (x: var seq[Handler], i: Natural){.noSideEffect, gcsafe, locks: 0.}
    ... expression: (get ->
    ...     (path("/api/users") -> ok("Get Users")) ~
    ...     (pathChunk("/api/users") ->
    ...     intSegment(proc (id: int): auto = result = ok(
    ...     `&`("Get User by ", intToStr(id, 1), "!"))))) ~ delete

1 Ответ

0 голосов
/ 12 июня 2019

Вам нужно указать метод delete:

] ~ rosencranz.delete[
  pathChunk("/api/users")[
    intSegment(proc(id: int): auto =
      ok("Delete User by " & intToStr(id) & "!")
    )
  ]

Или вы позвоните system.delete .

...