Processing 的簡易 REST API 範例

網路上似乎不容易找到給 Processing 的簡易 REST API 範例,快速寫了一個,大家參考看看。我是用 JSONPlaceholder 這個 REST API 測試服務,它會根據查詢字串回覆一些假訊息,供開發者測試用。如果只是要想知道怎麼呼叫 REST API,直接看 rest_query() 這個函式即可。這個例子並未解析回傳訊息,多數 REST API 回傳的是 JSON 格式,你得另行處理。

String rest_url;
int number;

void setup() {
  rest_url = "http://jsonplaceholder.typicode.com";
  number = 1;
  help_message();  
}

void draw() {
}

void keyPressed() {
  switch (key) {
    case '1':  // set to a number
    case '2':
    case '3':
    case '4':
    case '5':
    case '6':
    case '7':
    case '8':
    case '9':
    set_number(int(key)-48); // Converts char '1' into numeric 1.
    break;

    case 'p':  // posts
    rest_query("posts");
    break;

    case 't':  // todos
    rest_query("todos");
    break;

    case 'u':  // users
    rest_query("users");
    break;
  }
}

void help_message() {
  println("Press the following keys: \n"+
  "[1..3] Set to number 1..3 \n"+
  "[p] Get a Post, [t] Get a Todo, [u] Get an User. \n");
}

void set_number(int n) {
  number = n;
  println("Result> Set to number " + number + ". \n");
}

void rest_query(String query_type) {
  String query_string = rest_url + '/' + query_type + '/' + number;
  println("Query> " + query_string);
  String[] json = loadStrings(query_string);
  println("===========================================================");
  for (String s : json) {
    println(s);
  }
  println("===========================================================\n");
}

留言