Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ddbj-repo/d3ff7fbc9a66733ab164f669e4bcb88d to your computer and use it in GitHub Desktop.
Save ddbj-repo/d3ff7fbc9a66733ab164f669e4bcb88d to your computer and use it in GitHub Desktop.
import java.util.LinkedHashMap;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.client.HttpClientErrorException;
import net.arnx.jsonic.JSON;
/*
* (中略)
*/
/*
* 覚えておいた Request ID を使って GET する。
*/
String requestId = "wabi_blast_1111-1111-1111-11-111-111111";
MultiValueMap<String, String> parts = new LinkedMultiValueMap<String, String>();
parts.add("info", "request");
parts.add("format", "json");
try {
RestTemplate rest = new RestTemplate();
String response = rest.getForObject("http://ddbj.nig.ac.jp/wabi/blast/" + requestId, String.class, parts);
/*
---- response の例 (ここから) --------------------------------
{
"address": "",
"database": "hum",
"datasets": "ddbjall",
"format": "json",
"parameters": " -v 100 -b 100 -e 10 -F F -W 11",
"program": "blastn",
"querySequence": ">my query sequence 1\nCACCCTCTCTTCACTGGAAAGGACACCATGAGCACGGAAAGCATGATCCAGGACGTGGAA\nGCTGGCCGAGGAGGCGCTCCCCAGGAAGACAGCAGGGCCCCAGGGCTCCAGGCGGTGCTG\nGTTCCTCAGCCTCTTCTCCTTCCTGCTCGTGGCAGGCGCCGCCAC\n ",
"result": "www"
}
---- response の例 (ここまで) --------------------------------
*/
LinkedHashMap<String, String> request = JSON.decode(response, LinkedHashMap.class);
/*
* ---- request の例 (ここから) -------------------
* request["address"] == ""
* request["database"] == "hum"
* request["datasets"] == "ddbjall"
* request["format"] == "json"
* request["parameters"] == " -v 100 -b 100 -e 10 -F F -W 11"
* request["program"] == "blastn"
* request["querySequence"] == ">my query sequence 1\nCACCCTCTCTTCACTGGAAAGGACACCATGAGCACGGAAAGCATGATCCAGGACGTGGAA\nGCTGGCCGAGGAGGCGCTCCCCAGGAAGACAGCAGGGCCCCAGGGCTCCAGGCGGTGCTG\nGTTCCTCAGCCTCTTCTCCTTCCTGCTCGTGGCAGGCGCCGCCAC\n"
* request["result"] == "www"
* ---- request の例 (ここまで) -------------------
*/
} catch (HttpClientErrorException e) {
/*
* 入力値エラー等。
*/
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment