|
|
@@ -10,6 +10,10 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
+import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
+import com.fasterxml.jackson.databind.SerializationFeature;
|
|
|
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
|
import com.producthunt.server.dto.PostNode;
|
|
|
import com.producthunt.server.service.manager.IProductHuntManager;
|
|
|
|
|
|
@@ -31,6 +35,339 @@ public class ProductHuntController {
|
|
|
@Autowired
|
|
|
private IProductHuntManager productHuntManager;
|
|
|
|
|
|
+ private String content = "[\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 935408,\n" +
|
|
|
+ " \"name\": \"Wispr Flow for Windows\",\n" +
|
|
|
+ " \"tagline\": \"Stop typing, start speaking: 3x faster dictation on PC & Mac\",\n" +
|
|
|
+ " \"description\": \"Tired of typing? Wispr Flow for Windows lets you speak naturally and see your words perfectly formatted—no extra edits, no typos. It’s the easiest way to write 3x faster across all your apps.\",\n" +
|
|
|
+ " \"votesCount\": 621,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/VEQJCWAHVPXBLC?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/wispr-flow-for-windows?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 931928,\n" +
|
|
|
+ " \"name\": \"No Cap\",\n" +
|
|
|
+ " \"tagline\": \"World's first AI angel investor\",\n" +
|
|
|
+ " \"description\": \"Time to come clean: I just invested $100k in a startup — and I'm an AI. Full announcement and video below \uD83D\uDC47\",\n" +
|
|
|
+ " \"votesCount\": 458,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/RX3O54ISJJ42UG?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/no-cap?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 941045,\n" +
|
|
|
+ " \"name\": \"Cuckoo\",\n" +
|
|
|
+ " \"tagline\": \"Real-time AI translator for global teams\",\n" +
|
|
|
+ " \"description\": \"Cuckoo is a real-time AI translator for global sales, marketing, and support. Cuckoo helps companies like Snowflake and PagerDuty talk to their global customers in Zoom in-person meetings, even in the most technical discussions.\",\n" +
|
|
|
+ " \"votesCount\": 384,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/BSLO27YPI7UOLG?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/cuckoo-6?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 938270,\n" +
|
|
|
+ " \"name\": \"Sherloq\",\n" +
|
|
|
+ " \"tagline\": \"Create one place for all your SQL, directly on your editor\",\n" +
|
|
|
+ " \"description\": \"Sherloq is a Collaborative SQL Repository. Using the AI-powered plugin, SQL users automatically save, organize, share, and document queries on-the-fly, without leaving the editor. Companies use Sherloq as the single source of truth for all their queries.\",\n" +
|
|
|
+ " \"votesCount\": 358,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/M7N4WQZQIP4IOJ?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/sherloq-2?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 939950,\n" +
|
|
|
+ " \"name\": \"Numeral\",\n" +
|
|
|
+ " \"tagline\": \"Spend less than 5 minutes per month on sales tax compliance\",\n" +
|
|
|
+ " \"description\": \"Numeral puts sales tax on autopilot for leading e-commerce and SaaS businesses, offering intelligent workflows for registration, filing, and remittance alongside white-glove customer support.\",\n" +
|
|
|
+ " \"votesCount\": 339,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/EQNJ7UZ55RUAHG?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/numeral?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 929040,\n" +
|
|
|
+ " \"name\": \"OG PM Agent: Beta Release\",\n" +
|
|
|
+ " \"tagline\": \"Your AI Product Manager\",\n" +
|
|
|
+ " \"description\": \"PM Agent is your AI Product Manager that attends all your meetings, creates detailed summaries, and converts business discussions into Product Requirement Document including acceptance criteria for every sprint in real time keeping all stakeholders aligned.\",\n" +
|
|
|
+ " \"votesCount\": 247,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/HYURCPOABM6B7B?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/og-pm-agent-beta-release?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940539,\n" +
|
|
|
+ " \"name\": \"Superwall\",\n" +
|
|
|
+ " \"tagline\": \"Build & test mobile app paywalls without shipping updates\",\n" +
|
|
|
+ " \"description\": \"Superwall is the ultimate paywall solution for mobile apps. Build and test unlimited paywall designs, pricing, and A/B experiments— all without shipping app updates. With built in analytics, reduce your time to experiment by 90% and grow revenue by 20-30%.\",\n" +
|
|
|
+ " \"votesCount\": 227,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/JEBXUG7IVV3WMG?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/superwall?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940968,\n" +
|
|
|
+ " \"name\": \"OpenAI Responses API and Agents SDK\",\n" +
|
|
|
+ " \"tagline\": \"New tools for building agents and tools\",\n" +
|
|
|
+ " \"description\": \"A new set of APIs and tools specifically designed to simplify the development of agentic applications.\",\n" +
|
|
|
+ " \"votesCount\": 174,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/7ZEJQUN3IQPUZA?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/openai-responses-api-and-agents-sdk?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940914,\n" +
|
|
|
+ " \"name\": \"AI Renamer\",\n" +
|
|
|
+ " \"tagline\": \"Rename your files with AI\",\n" +
|
|
|
+ " \"description\": \"Automatically rename your files based on their content using AI. Perfect for organizing images and documents with meaningful names.\",\n" +
|
|
|
+ " \"votesCount\": 167,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/DND2CRR6HKS53X?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/ai-renamer-2?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940701,\n" +
|
|
|
+ " \"name\": \"Omlet for VS Code\",\n" +
|
|
|
+ " \"tagline\": \"Get React component usage insights in VS Code\",\n" +
|
|
|
+ " \"description\": \"Omlet is a component analytics tool for React. You can now use Omlet directly in VS Code and analyze how and where your React components (and their props) are used as you're coding — helping you confidently update, clean up and maintain your component library.\",\n" +
|
|
|
+ " \"votesCount\": 163,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/DOVGY6PD4WK77S?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/omlet-for-vs-code?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940824,\n" +
|
|
|
+ " \"name\": \"FirstSeed Tasks\",\n" +
|
|
|
+ " \"tagline\": \"Task manager focused on task execution & completion\",\n" +
|
|
|
+ " \"description\": \"Introducing FirstSeed Tasks 4 – a task manager that is focused on task execution and completion. With a built-in timer and Pomodoro functionality, it keeps you focused, enhances efficiency, and maximizes productivity. Available on iPhone, iPad, and Mac.\",\n" +
|
|
|
+ " \"votesCount\": 153,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/A6Q5G6U66ELHPP?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/firstseed-tasks?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 939735,\n" +
|
|
|
+ " \"name\": \"Sahha Archetypes\",\n" +
|
|
|
+ " \"tagline\": \"Segment users based on their health, lifestyle, & behavior!\",\n" +
|
|
|
+ " \"description\": \"Categorize users based on long-term health, lifestyle, and behavioral trends, enabling hyper-personalized engagement and retention strategies. Archetypes are intuitive, easy-to-use labels that capture a person’s persona, health and lifestyle\",\n" +
|
|
|
+ " \"votesCount\": 153,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/KFNWL2Q64CTORR?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/sahha-archetypes?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 939053,\n" +
|
|
|
+ " \"name\": \"Search Copilot\",\n" +
|
|
|
+ " \"tagline\": \"Work AI across platforms\",\n" +
|
|
|
+ " \"description\": \"Search Copilot is the AI-powered search engine for your work. Instantly find insights from meetings, emails, chats, docs, and CRMs—all in one place. No setup hassle, privacy-first, and free. Stop searching, start finding. \uD83D\uDE80\",\n" +
|
|
|
+ " \"votesCount\": 141,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/7PCPCKCIRCKM3Z?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/search-copilot?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940919,\n" +
|
|
|
+ " \"name\": \"PlanetScale Metal\",\n" +
|
|
|
+ " \"tagline\": \"The fastest way to run databases in AWS or GCP\",\n" +
|
|
|
+ " \"description\": \"PlanetScale Metal is the fastest way to run databases in AWS or GCP. With blazing fast NVMe drives, you can unlock unlimited IOPS, ultra low latencies, and the highest throughput for your workloads.\",\n" +
|
|
|
+ " \"votesCount\": 130,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/A3UUCYI5Q7MH76?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/planetscale-metal?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940792,\n" +
|
|
|
+ " \"name\": \"DJI Dock 3\",\n" +
|
|
|
+ " \"tagline\": \"Rise to Any Challenge\",\n" +
|
|
|
+ " \"description\": \"Introducing the DJI Dock 3, DJI's First Dock Adaptable for Vehicle Mounting. The DJI Dock 3 empowers 24/7 remote operations and effortlessly adapts to various environments.\",\n" +
|
|
|
+ " \"votesCount\": 125,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/GHI7E7TT5CCHW5?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/dji-dock-3?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940946,\n" +
|
|
|
+ " \"name\": \"Supadex for iOS & Android\",\n" +
|
|
|
+ " \"tagline\": \"Supabase data in your pocket\",\n" +
|
|
|
+ " \"description\": \"The ultimate mobile dashboard for Supabase. Manage databases, track metrics, and monitor projects seamlessly, anytime, anywhere.\",\n" +
|
|
|
+ " \"votesCount\": 118,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/SUQDWEYZSJKTZF?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/supadex-for-ios-android?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940774,\n" +
|
|
|
+ " \"name\": \"Pod\",\n" +
|
|
|
+ " \"tagline\": \"A desktop iPod that plays local music and radio\",\n" +
|
|
|
+ " \"description\": \"Pod is a desktop music player which feels and looks like an iPod. Enjoy seamless navigation, haptic feedback, and stylish design, all without extra hardware. Listen to local music files, radio and soon Spotify.\",\n" +
|
|
|
+ " \"votesCount\": 115,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/EYQMXQVYVKJ7YJ?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/pod-6?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940617,\n" +
|
|
|
+ " \"name\": \"W3ARE v1 beta\",\n" +
|
|
|
+ " \"tagline\": \"Accept payments in any currency or crypto\",\n" +
|
|
|
+ " \"description\": \"Simplify international transactions with w3are. Create payment links that support multiple payment methods, currencies, and cryptocurrencies. Secure, compliant, and easy to use. Start accepting payments worldwide today!\",\n" +
|
|
|
+ " \"votesCount\": 108,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/OGNMM5QABG7HLJ?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/w3are-v1-beta?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940536,\n" +
|
|
|
+ " \"name\": \"FocusNudge\",\n" +
|
|
|
+ " \"tagline\": \"Status bar app to nudge you back into focus!\",\n" +
|
|
|
+ " \"description\": \"Stay on track in a distraction-filled world! FocusNudge gently reminds you of your main focus whenever you switch to distracting apps. This tiny menu bar app delivers perfectly timed nudges that keep you aligned with what matters. Customizable, unobtrusive.\",\n" +
|
|
|
+ " \"votesCount\": 108,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/HW627AGBESAL3V?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/focusnudge?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940392,\n" +
|
|
|
+ " \"name\": \"Pocket Casts\",\n" +
|
|
|
+ " \"tagline\": \"No Paywalls. No Walled Gardens. Just Podcasts.\",\n" +
|
|
|
+ " \"description\": \"Pocket Casts is a powerful, beautifully designed podcast player that lets you stream your podcasts from any device. With intuitive playback controls and a clean interface, it’s the best way to enjoy podcasts—now free for all.\",\n" +
|
|
|
+ " \"votesCount\": 106,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": null,\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/IIDXSG7EVDDS64?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/pocket-casts-8?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 935408,\n" +
|
|
|
+ " \"name\": \"Wispr Flow for Windows\",\n" +
|
|
|
+ " \"tagline\": \"Stop typing, start speaking: 3x faster dictation on PC & Mac\",\n" +
|
|
|
+ " \"description\": \"Tired of typing? Wispr Flow for Windows lets you speak naturally and see your words perfectly formatted—no extra edits, no typos. It’s the easiest way to write 3x faster across all your apps.\",\n" +
|
|
|
+ " \"votesCount\": 621,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/VEQJCWAHVPXBLC?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/wispr-flow-for-windows?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 931928,\n" +
|
|
|
+ " \"name\": \"No Cap\",\n" +
|
|
|
+ " \"tagline\": \"World's first AI angel investor\",\n" +
|
|
|
+ " \"description\": \"Time to come clean: I just invested $100k in a startup — and I'm an AI. Full announcement and video below \uD83D\uDC47\",\n" +
|
|
|
+ " \"votesCount\": 458,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/RX3O54ISJJ42UG?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/no-cap?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 941045,\n" +
|
|
|
+ " \"name\": \"Cuckoo\",\n" +
|
|
|
+ " \"tagline\": \"Real-time AI translator for global teams\",\n" +
|
|
|
+ " \"description\": \"Cuckoo is a real-time AI translator for global sales, marketing, and support. Cuckoo helps companies like Snowflake and PagerDuty talk to their global customers in Zoom in-person meetings, even in the most technical discussions.\",\n" +
|
|
|
+ " \"votesCount\": 384,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/BSLO27YPI7UOLG?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/cuckoo-6?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 938270,\n" +
|
|
|
+ " \"name\": \"Sherloq\",\n" +
|
|
|
+ " \"tagline\": \"Create one place for all your SQL, directly on your editor\",\n" +
|
|
|
+ " \"description\": \"Sherloq is a Collaborative SQL Repository. Using the AI-powered plugin, SQL users automatically save, organize, share, and document queries on-the-fly, without leaving the editor. Companies use Sherloq as the single source of truth for all their queries.\",\n" +
|
|
|
+ " \"votesCount\": 358,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/M7N4WQZQIP4IOJ?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/sherloq-2?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 939950,\n" +
|
|
|
+ " \"name\": \"Numeral\",\n" +
|
|
|
+ " \"tagline\": \"Spend less than 5 minutes per month on sales tax compliance\",\n" +
|
|
|
+ " \"description\": \"Numeral puts sales tax on autopilot for leading e-commerce and SaaS businesses, offering intelligent workflows for registration, filing, and remittance alongside white-glove customer support.\",\n" +
|
|
|
+ " \"votesCount\": 339,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/EQNJ7UZ55RUAHG?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/numeral?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 929040,\n" +
|
|
|
+ " \"name\": \"OG PM Agent: Beta Release\",\n" +
|
|
|
+ " \"tagline\": \"Your AI Product Manager\",\n" +
|
|
|
+ " \"description\": \"PM Agent is your AI Product Manager that attends all your meetings, creates detailed summaries, and converts business discussions into Product Requirement Document including acceptance criteria for every sprint in real time keeping all stakeholders aligned.\",\n" +
|
|
|
+ " \"votesCount\": 247,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/HYURCPOABM6B7B?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/og-pm-agent-beta-release?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940539,\n" +
|
|
|
+ " \"name\": \"Superwall\",\n" +
|
|
|
+ " \"tagline\": \"Build & test mobile app paywalls without shipping updates\",\n" +
|
|
|
+ " \"description\": \"Superwall is the ultimate paywall solution for mobile apps. Build and test unlimited paywall designs, pricing, and A/B experiments— all without shipping app updates. With built in analytics, reduce your time to experiment by 90% and grow revenue by 20-30%.\",\n" +
|
|
|
+ " \"votesCount\": 227,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/JEBXUG7IVV3WMG?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/superwall?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940968,\n" +
|
|
|
+ " \"name\": \"OpenAI Responses API and Agents SDK\",\n" +
|
|
|
+ " \"tagline\": \"New tools for building agents and tools\",\n" +
|
|
|
+ " \"description\": \"A new set of APIs and tools specifically designed to simplify the development of agentic applications.\",\n" +
|
|
|
+ " \"votesCount\": 174,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/7ZEJQUN3IQPUZA?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/openai-responses-api-and-agents-sdk?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940914,\n" +
|
|
|
+ " \"name\": \"AI Renamer\",\n" +
|
|
|
+ " \"tagline\": \"Rename your files with AI\",\n" +
|
|
|
+ " \"description\": \"Automatically rename your files based on their content using AI. Perfect for organizing images and documents with meaningful names.\",\n" +
|
|
|
+ " \"votesCount\": 167,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/DND2CRR6HKS53X?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/ai-renamer-2?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"id\": 940701,\n" +
|
|
|
+ " \"name\": \"Omlet for VS Code\",\n" +
|
|
|
+ " \"tagline\": \"Get React component usage insights in VS Code\",\n" +
|
|
|
+ " \"description\": \"Omlet is a component analytics tool for React. You can now use Omlet directly in VS Code and analyze how and where your React components (and their props) are used as you're coding — helping you confidently update, clean up and maintain your component library.\",\n" +
|
|
|
+ " \"votesCount\": 163,\n" +
|
|
|
+ " \"createdAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"featuredAt\": \"2025-03-12T07:01:00\",\n" +
|
|
|
+ " \"website\": \"https://www.producthunt.com/r/DOVGY6PD4WK77S?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\",\n" +
|
|
|
+ " \"url\": \"https://www.producthunt.com/posts/omlet-for-vs-code?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+dataeasy+%28ID%3A+170125%29\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " ]";
|
|
|
+
|
|
|
/**
|
|
|
* 获取热榜列表
|
|
|
* @param rankDate 榜单日期
|
|
|
@@ -39,6 +376,11 @@ public class ProductHuntController {
|
|
|
*/
|
|
|
@GetMapping("/getPosts")
|
|
|
public List<PostNode> getPosts(@RequestParam @Validated @Pattern(regexp = "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$", message = "字符串格式不正确,格式:yyyy-MM-dd") String rankDate) throws JsonProcessingException {
|
|
|
- return productHuntManager.getPosts(rankDate);
|
|
|
+// return productHuntManager.getPosts(rankDate);
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ objectMapper.registerModule(new JavaTimeModule());
|
|
|
+ objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
|
|
+ List<PostNode> stringList = objectMapper.readValue(content, new TypeReference<List<PostNode>>() {});
|
|
|
+ return stringList;
|
|
|
}
|
|
|
}
|