问题标签 [spray-routing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
427 浏览

scala - 喷涂路由不匹配任何东西

我已经尝试了很多事情,但是无论我在测试中做什么(只是发送一个 PUT 请求来“创建用户”),日志都不会输入任何 pathPrefix 并且只是走到最后并且无法匹配任何内容。

任何人都可以提供见解吗?下面是我写的课程以及简单的测试(甚至还没有检查任何东西)

我知道总的来说它是相当初级的,我做的事情并不好,但这只是我拼凑起来的东西,以至于我觉得我可以对路由进行一些快速测试

0 投票
2 回答
1002 浏览

scala - 喷洒 Akka Json 解组

我有一个关于通过使用喷雾将对象解组到 Json 的问题 - akka。

当我想使用返回 Future[List[Person]] 的演员时,它不起作用。

如果我直接使用 dao 对象,它可以工作。

这是我的代码:

PersonDao.scala

EntityServiceActor.scala

ServerSupervisor.scala

WebServiceTrait.scala

PersonWebService.scala

应用程序.scala

当我运行此代码时,它什么也没给出并等待一段时间。

等待浏览器后给出此消息:

服务器无法及时响应您的请求。

控制台输出是

[错误] [11/22/2015 21:15:24.109] [actorSystem-akka.actor.default-dispatcher-7] [akka.actor.ActorSystemImpl(actorSystem)] 处理请求 HttpRequest(GET, http:// /localhost:3001/person/,List(主机: localhost:3001, Connection: keep-alive, Cache-C ontrol: no-cache, Pragma: no-cache, User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon /4.4.6.1000 Chrome/30.0.1599.101 Safari/537.36, DNT: 1, Accept-Encoding: gzip, deflate, Accept-Language: tr-TR),Empty,HTTP/1.1) akka.pattern.AskTimeoutException: Ask timed out on [演员[akka://actorSystem/user/$a/entityServiceActor#-1810673919]] 在 [120000 毫秒] 之后。Sender[null] 发送类型为“com.bilalalp.akkakafka.service.ServiceOperation$FIND_ALL$”的消息。在 akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:415) 在 akka.actor.Scheduler$$anon$7.run(Scheduler.scala:132) 在 scala.concurrent.Future$InternalCallbackExecutor $.unbatchedExecute(Future.scala:599) 在 scala.concurrent。

如果我将 PersonWebService.scala 更改为此:

它的工作原理和输出是:

[{"id":1,"name":"Bilal","surname":"Alp"},{"id":2,"name":"Ahmet","surname":"Alp"}]

我想在喷射路线中使用演员。我不知道这是否是一种不好的做法,因为我是 akka 和喷雾的新手。

我该如何解决这个问题?有任何想法吗?

谢谢你。

0 投票
1 回答
70 浏览

scala - 喷雾路由适用于单斜线,但没有别的

所以我之前问过这个问题,并改变了很多代码。

喷涂路由不匹配任何东西

现在我正在执行我的函数,这些函数在 detach() 块中返回 HTTPresponses,这样我就不会阻塞。然后这些完成并返回给客户端,但我似乎仍然无法让我的路由工作。

在我的测试中,对单个斜杠的请求可以正常工作,但是其他任何操作(例如下面显示的创建用户路径)都会失败。我似乎无法弄清楚为什么,并且喷雾路由使用了如此多的构造,我很难弄清楚系统如何工作得足够好以找出发生了什么。

我尝试在某些路径周围插入 logRequest 块,认为这可能会告诉我发生了什么,但它们似乎都没有受到打击。任何帮助将不胜感激。

这是我的scalatest的样子,简单的Put通过,但newuser的put没有

0 投票
0 回答
25 浏览

scala - 错误处理程序中喷雾的内容协商

我正在尝试在基于喷雾的应用程序中使用内容协商。以下测试描述了我的预期行为。不幸的是,这不是我看到的(放到 github 上看大小):

https://gist.github.com/Norwae/49c26613f91c32482bb1

本质上,当从正常路由中调用 complete() 时,内容协商似乎可以正常工作。它似乎在 中根本不起作用ExceptionHandler,无论标头如何,都选择了第一个可用的序列化程序Accept

有没有办法在异常处理程序中实现相同的行为?onComplete除了在所有地方明确使用和处理错误之外,还有其他选择吗?

0 投票
1 回答
210 浏览

scala - 使用带有 Spray HttpService 的 Dispatcher

我的应用程序有一个使用 SprayCan 的 API。在应用程序中,任何阻塞代码对每个特定资源都有一个单独的调度程序。

是否有必要通过配置它自己的 Dispatcher 来保护 API 服务不被应用程序阻塞?

将路由器用于 API 服务以处理更大容量的请求也是常见的做法吗?

0 投票
1 回答
49 浏览

spray - 如何崩溃喷雾指令

如何尽可能地折叠这些指令?

我能够将三个指令折叠到 mainHeader 中,但是如何也包括 authenticate 和 responseWithMediaType 呢?

0 投票
2 回答
466 浏览

scala - 喷雾路由中不区分大小写的参数解析

我想让Spray路由中的参数解析不区分大小写。例如:

在这条路线中,我希望 pageSize 和 appId 参数不区分大小写。例如,pagesize=5 或 PAGESIZE=5。

0 投票
1 回答
107 浏览

scala - 如何解析包含特定单词的请求 uri

我正在尝试处理包含单词“过滤器”的请求。目前,我将 url 用作 http://localhost:9997/filter= ...。

并使用 pathPrefix(fiter) 解析

但是 url 会改变,变成 http://localhost:9997/something../filter=

所以这里我不能取pathPrefix()。如何在路由中处理这种路径,以便任何包含“过滤器”关键字的 url 都可以处理。我对akka spray很陌生。请让我知道您的意见。提前致谢

0 投票
1 回答
522 浏览

scala - 如何使用特征聚合 akka-http 路由?

我正在尝试在运行时使用特征聚合路由,到目前为止我有

显然上面的代码不起作用,因为项目列表不能传递给Http().bindAndHandle.

所以我的问题是,如何将 解析List[Routes]Http().bindAndHandle接受,或者如何从 的子类动态加载路由Routable

0 投票
1 回答
171 浏览

spray - 带有哈希函数的乐观锁

下面的代码似乎没有错误地完成,但是在堆栈 spray.can.server.HttpServerConnection 的下方希望“If-Match”标头具有特定格式。
我觉得我可能缺少拒绝处理程序?还是我必须关闭某些东西?

有任何想法吗?

路线:

指示: