首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该如何与服务器通信?

我应该如何与服务器通信?
EN

Stack Overflow用户
提问于 2013-09-29 02:42:18
回答 1查看 216关注 0票数 4

假设有人想要查询比萨饼服务器的比萨饼列表。这个人只会简单地

代码语言:javascript
复制
 GET /pizzas
 ;=> ["cheese", "extra cheese", "broccoli"]

有了基座应用程序的数据模型和消息,我不知道如何设计客户机-服务器通信。下面是几分钟吊床带来的可能性:

  1. 一个effect-consumer
    • 将消息转换为HTTP请求
    • 将结果转换回(例如,[{:type :add :topic [:pizzas] :value "cheese"} ...])
    • 将消息放入队列中。

  1. 服务器上的专用资源(例如"/edn"),即
    • 接受基座信息
    • 分派到正确的函数
    • 用原始数据(即“奶酪”、“额外奶酪”、“西兰花”)作出答复。
    • 是否将结果转换为消息?

  1. 一个专用资源,它使用路由。就像#2,但是
    • 更改请求
    • 将其转发到路由表中的另一个条目。

  1. 双方的消息--,和
    • 服务器将消息转换为函数调用
    • 服务器将结果转换回消息。
    • 客户机只是将这些消息添加到队列中。

在我看来,使用#2和#4的方法,我会绕过并失去拦截器的所有好处。使用第二种方法,我需要加倍执行路由逻辑。使用第4种方法,我还需要生成大量的代码来容纳基座客户端。

选项1和#3似乎更好,但#3闻起来很烦人,而#1则被误导。

你们是怎么做到的?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-12-06 01:39:40

我不知道基座的事,我一直在工作。

使用ring,您可以使用ring.middleware.json对事物进行琐碎包装,并将ring.middleware.json/wrap-json-responsering.middleware.json/wrap-json-params放在页面周围,然后将入站json数据解析为参数,然后返回json如下:

代码语言:javascript
复制
(ring.util.response/response ["cheese", "extra cheese", "broccoli"])

如果您的库不支持这类行为,您可能可以从环等中提取相关代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19073865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档