Описание тега spray-dsl

Набор инструментов с открытым исходным кодом для создания уровней интеграции на основе REST/HTTP поверх Scala и Akka. Это асинхронный, актерский, быстрый, легкий, модульный и тестируемый.
1 ответ

Директивы маршрутизации обрабатываются некорректно, несмотря на то, что они не вызывают отклонение

Не могли бы вы объяснить, почему незначительные изменения полностью нарушают мою маршрутизацию? Мой маршрут довольно прост val myRoutes = pathPrefix("MainService") { post { requestInstance { request => XmlBody { (command, payload) => ifTrue2(c…
01 дек '14 в 14:20
0 ответов

Как добавить тест-кейс маршрута только с помощью pathEnd

У меня есть маршрут get { pathEnd { respondWithMediaType(`text/html`) { // XML is marshalled to `text/xml` by default, so we simply override here complete("[]") } } } Я пытаюсь добавить тест-кейс для этого маршрута, как это Get() ~> route ~> c…
17 окт '14 в 07:07
0 ответов

Спрей на AWS Привязать к localhost/127.0.0.1:80 не удалось

Я настроил все для распыления на моем экземпляре AWS. Я также могу успешно запустить образец спрей-шаблона. Но проблема в том, что спрей-шаблон использует порт 8080 для привязки, когда я меняю порт с 8080 на 80. Я сталкиваюсь с ниже упомянутой ошибк…
14 апр '16 в 06:20
0 ответов

Как превратить мой спрей в автономное приложение eclipse rcp?

Я создал модель ЭДС, а также спрей проект. Я могу запустить спрей над "Запустить как..." как приложение затмения, и я получу редактор, который зависит от моей модели ЭДС. Теперь я хотел бы интегрировать этот редактор в часть rcp-приложения eclipse. …
10 ноя '13 в 10:53
1 ответ

Как мне написать сопоставитель пути, который сопоставляет любую часть оставшегося пути с регулярным выражением?

Я хотел бы написать сопоставитель пути, который сопоставляет любую из оставшихся частей пути с регулярным выражением, например, path("myregex".r) будет соответствовать, если у меня есть оставшиеся пути в форме: /myregex /foo/myregex /foo/myregex/bar…
25 авг '14 в 22:53
2 ответа

Spray 1.2 игнорирует заголовок типа содержимого в ответе

Я пытаюсь установить application/json как Content-Type в актере маршрутизации спрея. Но тип контента, который я вижу в своем ответе, всегда является текстовым / простым. Я попытался использовать подход с распылением ("что-то") и подход к аэрозольном…
28 фев '14 в 09:18
3 ответа

Могу ли я создать директиву метода OPTIONS по умолчанию для всех точек входа в мой маршрут?

Я не хочу явно писать: options { ... } для каждой точки входа / пути в моем маршруте Spray. Я хотел бы написать некоторый общий код, который добавит OPTIONS поддержка всех путей. Следует посмотреть на маршруты и извлечь из них поддерживаемые методы.…
21 авг '14 в 07:30
1 ответ

Как можно распылить unmarshall список в параметрах запроса

Я новичок в спрей. Я играю с созданием маршрутов, и, хотя мне удается получить параметры из строки запроса с помощью директивы параметров, у меня возникают проблемы, когда я хочу, чтобы один из параметров был списком. Для этого примера я определил э…
29 сен '14 в 19:40
1 ответ

Глобальная миграция фильтров из Spray в Akka-Http 2

У меня есть фильтр обработчика маршрута, используя Spray Custom Directive0. Целью этой пользовательской директивы является создание фильтра запросов для определения времени обработки запроса. Внутри пользовательской директивы Spray я могу использова…
09 мар '17 в 23:15
0 ответов

Директива аэрозольной аутентификации возвращает разные коды состояния HTTP

Я пытаюсь выполнить базовую аутентификацию по запросу после публикации в spray.io 1.3.2 с использованием директивы authenticate. Мой код выглядит следующим образом: val route: Route = { pathPrefix("ato") { pathPrefix("v1") { path("orders" / "updateS…
15 май '15 в 08:52
0 ответов

Спрей - ошибка проверки параметров запроса не приводит к коду состояния 400 - badRequest

У меня следующий маршрут распыления post { parameters(('adId.as[String], 'propertyType.as[TypNe])).as(Import){imp => complete { adImporterService ! imp StatusCodes.Accepted } } } Настраиваемый десериализатор для преобразования в перечисление Java…
12 апр '15 в 20:26
1 ответ

Различные маршруты в зависимости от типа содержимого запроса Spray Routing 1.2.1

Я хотел бы поддержать несколько разных типов контента, представленных на один и тот же URL: например: application/x-www-form-urlencoded, multipart/form-data, application/json Я хотел бы сделать что-то вроде: post { contentType(`application/x-www-for…
03 апр '14 в 01:43
1 ответ

Как демонтировать параметры POST и тело JSON по одному маршруту?

У меня есть этот маршрут: val routes = pathPrefix("api") { path("ElevationService" / DoubleNumber / DoubleNumber) { (long, lat) => post { requestContext => println(long, lat) } } } Это хорошо работает, я могу позвонить ElevationService как: ht…
30 дек '14 в 15:01
1 ответ

Спрей testkit === статус проходит любой статус

У меня есть следующий тест в спрей-testkit с самым масштабным, и я не понимаю, почему тест проходит каждый раз, несмотря на фактический статус. import akka.actor._ import akka.event.LoggingReceive import akka.testkit.TestProbe import com.ss.rg.servi…
16 мар '15 в 16:35
1 ответ

Несколько заголовков с одинаковым именем

Spray поддерживает только извлечение ОДНОГО заголовка с заданным именем через headerValueByName. Как я могу получить ВСЕ заголовки с именем "что угодно" в приведенном ниже фрагменте кода Spray? Должен быть какой-то способ извлечь заголовки!? lazy va…
2 ответа

Как структурировать RESTful API с помощью Spray.io?

Когда я использую Spray.io для разработки RESTful API, как мне структурировать свое приложение? Я уже видел этот ответ о том, как разделить приложение Spray, но меня это не устраивает, поскольку в нем, похоже, не используется подход "один субъект на…
15 май '14 в 21:32
2 ответа

Разбор параметров без учета регистра в маршрутизации Spray

Я хотел бы сделать анализ параметров в регистре маршрутизации Spray без учета регистра. Например: val route: Route = { (path("search") & get) { parameters('pagesize.as[Int] ?, 'appId ?) { (pageSize, appId) => ... } } } На этом маршруте я бы х…
25 фев '16 в 12:02
2 ответа

Разбор пути для ReST API в Spray

У меня есть следующий код в Spray для анализа службы REST, вызываемой пользователем: val route = { pathPrefix("v0") { pathPrefix("pets") { pathEndOrSingleSlash { pathEnd { get { complete("/v0/pets") } } ~ get { complete("/v0/pets/") } } ~ parameters…
07 янв '16 в 11:20
1 ответ

Как работают параметры распыления?

Я пытаюсь обдумать, как Spray реализовал свои директивы, и в частности DSL для извлечения параметров. Я понимаю шаблон магнита (едва), но застрял на том, как ParamDefMagnet и ParamDefMagnet2 работают вместе. def parameter(pdm: ParamDefMagnet): pdm.O…
23 апр '15 в 06:27
1 ответ

Отказы от распыления не преобразуются в код состояния?

Я следую инструкции по распылению отсюда. Вот я и собрал довольно простой тест class AtoImportServiceApiTest extends WordSpecLike with MustMatchers with ScalatestRouteTest { "AtoImportService" must { "return HTTP status 401 Unauhorized when accessin…
15 май '15 в 13:25