nami - Hello World
2026年9月14日 上午5:39:35
Nami 可以脱离 Solon 使用。示例采用 HTTP 通道调用 GitHub API。
1、添加依赖
<dependencies>
<dependency>
<groupId>org.noear</groupId>
<artifactId>nami-coder-snack4</artifactId>
</dependency>
<dependency>
<groupId>org.noear</groupId>
<artifactId>nami-channel-http</artifactId>
</dependency>
</dependencies>
2、手动创建代理
public class MainTest {
public static void main(String... args) {
GitHub github = Nami.builder()
.decoder(Snack4Decoder.instance)
.channel(HttpChannel.instance)
.upstream(() -> "https://api.github.com")
.create(GitHub.class);
// Fetch and print a list of the contributors to this library.
List<Contributor> contributors = github.contributors("OpenFeign", "feign");
for (Contributor contributor : contributors) {
System.out.println(contributor.login + " (" + contributor.contributions + ")");
}
}
}
public interface GitHub {
@NamiMapping("GET /repos/{owner}/{repo}/contributors")
List<Contributor> contributors(String owner, String repo);
@NamiMapping("POST /repos/{owner}/{repo}/issues")
void createIssue(Issue issue, String owner, String repo);
}
public class Contributor {
public String login;
public int contributions;
}
public class Issue {
public String title;
public String body;
public List<String> assignees;
public int milestone;
public List<String> labels;
}