我读了一些将jsons发布到服务器的例子.
有人说:
OkHttp是Java提供的HttpUrlConnection接口的实现.它提供了用于编写内容的输入流,并且不知道(或关心)该内容的格式.
现在我想使用名称和密码的参数对URL进行正常发布.
这意味着我需要自己将名称和值对编码为流吗?
我使用okhttp作为我的httpclient.我认为这是一个很好的api,但文档并不那么详细.
如何使用它来发送带文件上传的http帖子请求?
public Multipart createMultiPart(File file){
Part part = (Part) new Part.Builder().contentType("").body(new File("1.png")).build();
//how to set part name?
Multipart m = new Multipart.Builder().addPart(part).build();
return m;
}
public String postWithFiles(String url,Multipart m) throws IOException{
ByteArrayOutputStream out = new ByteArrayOutputStream();
m.writeBodyTo(out)
;
Request.Body body = Request.Body.create(MediaType.parse("application/x-www-form-urlencoded"),
out.toByteArray());
Request req = new Request.Builder().url(url).post(body).build();
return client.newCall(req).execute().body().string();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我记得以前在某处读过,但现在找不到官方文档了。
jvm中的所有指令都是原子的吗?
喜欢:
iinc
iload
aload
Run Code Online (Sandbox Code Playgroud)
都是原子的?
我有一些多选,我使用 jquery select2。当在一个多选中选择此选项时,我想禁用其他多选中的一个选项。我写了这段代码,但它确实有效。
$("select.multiselect").on("change", function(e) {
if(e.added){
for(var i=0;i<this.options.length;i++){
var vals = $(this).select2("val");
for(var j=0;j<vals.length;j++){
if(this.options[i].value===vals[j]){
this.options[i].selected=true;
}
}
};
}
if(e.removed){
for(var i=0;i<this.options.length;i++){
if(this.options[i].value===e.removed.id){
this.options[i].selected=false;
}
};
}
});
Run Code Online (Sandbox Code Playgroud)
怎么做?
我使用redis来存储用户信息。
我在“用户”键下设置了许多用途的信息,例如:
"hset user userid1234 {...}".
Run Code Online (Sandbox Code Playgroud)
如何使用户中的键“ userid1234”在几秒钟后失效?
有一些像“过期”的命令,只能设置用户的超时时间,但我不希望它全部过期。
有什么解决办法吗?
我得到了一些参数,然后调用一个接受参数映射的函数.地图的关键名称是params的名称,如下所示:
(GET "/api/search" [nick_name gender phone max_age min_age page lmt ]
(db-search-users :nick_name nick_name :gender gender :phone phone
:max_age max_age :min_age min_age :page page :lmt lmt))
Run Code Online (Sandbox Code Playgroud)
有没有办法避免复制和粘贴?
我正在寻找一个连接函数,就像在SQL中加入一样,例如:
这是两个地图列表:
(def a [{:user_id 1 :name "user 1"}
{:user_id 2 :name "user 2"}])
(def b [{:user_id 2 :email "e 2"}
{:user_id 1 :email "e 1"}])
Run Code Online (Sandbox Code Playgroud)
我想在user_id上加入a和b来获取:
[{:user_id 1 :name "user 1" :email "e 1"}
{:user_id 2 :name "user 2" :email "e 2"}]
Run Code Online (Sandbox Code Playgroud)
在clojure或其他库中有一些功能可以达到这个目的吗?
例如:
class Person {
String name;
}
Run Code Online (Sandbox Code Playgroud)
我想{:name "xxx}从Person的实例中获取.
我知道(from_json (.toJson person))可以做到.
有没有更好的方法来实现它?
import java.util.Random;
public class Test{
static int r = new Random().nextInt(2);
static int a(){
return r==1 ? 1 :0;
}
public static void test1() throws Exception {
//
System.out.println(1403187139018L);
for (int i = 0; i < 1073741824; i++) {}//*
// Thread.sleep(20000);
long d = 0;
for (int j = 0; j < 10; j++) {
long y = System.currentTimeMillis();
for (int x = 0; x < 1073741823; x++) {
d += r==0?1:0;
}
System.out.println((System.currentTimeMillis() -y));
}
}
public static void …Run Code Online (Sandbox Code Playgroud) 我想更改地图:
{"a" 1 "b" 2}
Run Code Online (Sandbox Code Playgroud)
至
{:a 1 :b 2}
Run Code Online (Sandbox Code Playgroud)
如何在clojure中做到这一点?
有时,当我使用“ as”时,xcode提示失败并建议更改为“ as!”。此外,我还看到一些委托人是“ init?”。我知道某些变量可以被定义为可选变量。 ?
我用“快速编程语言”查询了问题,但没有找到答案。
我有一个向量,想要在Clojure中调用一个函数.该函数接受许多参数,我有矢量.
例如:
(defn f [a b] (+ a b))
Run Code Online (Sandbox Code Playgroud)
我有矢量:
[1 2]
Run Code Online (Sandbox Code Playgroud)
我可以用申请:
(apply f [1 2])
Run Code Online (Sandbox Code Playgroud)
但是我可以f像在python中一样调用Clojure吗?
(f *[1 2]) .
Run Code Online (Sandbox Code Playgroud)
我的用例是我需要dissoc来自地图的一些键.我想打电话(dissoc amap *keys),但不支持.
我可以用 apply
(apply dissoc (cons amap keys))
Run Code Online (Sandbox Code Playgroud)
但它不太方便.
在Clojure中最好的方法是什么?
例如:
a = [:a :b :c]
b = [1 2 3]
(create-map a b) = {:a 1 :b 2 :c 3}
Run Code Online (Sandbox Code Playgroud)
实现create-map的最佳方法是什么?