中文编程
首发于中文编程

中文代码之Spring Boot实现简单REST服务

最终目标详见: 参考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

在本地(客户端)访问, 或直接在浏览器访问74.91.17.250:8090/?:

$ curl 74.91.17.250:8090?term=List
{"id":3,"中文术语":"列表"}

参考文档: Building a RESTful Web Service with Spring Boot Actuator

编辑于 2018-08-15

文章被以下专栏收录

    在所有编程语言和领域中尝试编写中文代码,开发相关工具,总结经验,一致代码风格。包括中文命名,汉化现有语言,创造中文语法的编程语言等等。作为最熟悉的母语,用来编写代码会让代码更容易被自己和母语相同的其他开发者理解。基于英文的编程语言和框架中,使用中文命名有时有技术问题。希望这里为后人趟雷,填坑。多数现有API是英文的,这里也会对其中一些常用的进行汉化。当然,这里也会对基于中文的编程语言进行探讨。包括汉化基于英文的编程语言,以及创造新的编程语言。