最终目标详见: 参考MSDN,试搞.NET类库标识符的翻译版 · Issue #54 · program-in-chinese/overview
此文仅为技术探索+原型搭建的第一小步.
源码库: 演示原型 · program-in-chinese/programming_term_dictionary@6bb00f3
主要部分源码如下:
应用.java
@SpringBootApplication
public class 应用 {
public static void main(String[] 参数) {
SpringApplication.run(应用.class, 参数);
}
}
词典控制器.java
@RestController
public class 词典控制器 {
private static final HashMap<String, String> 英中词典 = new HashMap<>();
static {
英中词典.put("List", "列表");
}
private final AtomicLong 计数器 = new AtomicLong();
@GetMapping("/")
@ResponseBody
public 词条 取词条(@RequestParam(name = "term", required = false, defaultValue = "") String 英文术语) {
if (英中词典.containsKey(英文术语)) {
return new 词条(计数器.incrementAndGet(), 英中词典.get(英文术语));
}
return null;
}
}
词条.java
public class 词条 {
// TODO: 仅为演示用
private final long id;
private final String 中文术语;
public 词条(long id, String 中文术语) {
this.id = id;
this.中文术语 = 中文术语;
}
public long getId() {
return id;
}
public String get中文术语() {
return 中文术语;
}
}
在演示服务器上构建并从jar包启动服务:
$ mvn package && java -jar target/programming-term-dictionary-0.1.0.jar --server.port=8090
在本地(客户端)访问, 或直接在浏览器访问http://74.91.17.250:8090/?term=List:
$ curl 74.91.17.250:8090?term=List
{"id":3,"中文术语":"列表"}
参考文档: Building a RESTful Web Service with Spring Boot Actuator